首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >节点Linux/Windows兼容性问题

节点Linux/Windows兼容性问题
EN

Stack Overflow用户
提问于 2017-03-24 23:05:25
回答 1查看 138关注 0票数 0

此代码在Windows上工作,没有任何错误。

代码语言:javascript
运行
复制
var express = require('express')
    , app = express()
    , async = require('async')
    , bodyParser = require('body-parser')
    , cookies = require('cookies')
    , cors = require('cors')
    , fileUpload = require('multer')
    , fs = require('fs')
    , moment = require('moment')
    , morgan = require('morgan')
    , path = require('path')
    , session = require('express-session')
    , upload = fileUpload({ dest: './uploads' })
    , uuid = require('uuid')
    ;

var connLaw = require('./nodeHelperFunctions/datasources').service
    , connPG = require('./nodeHelperFunctions/datasources').postgis
    , headers = require('./helperHtml/headers')
    , footers = require('./helperHtml/footers')
    , passCheck = require('./nodeHelperFunctions/hashsalt')
    ;

但是,当在Amazon框上运行相同的代码时,我会得到以下错误。

代码语言:javascript
运行
复制
module.js:471
    throw err;
    ^

Error: Cannot find module './nodeHelperFunctions/datasources'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ec2-user/testbed/js/app.js:17:59)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

试图将我的代码更改为

代码语言:javascript
运行
复制
var connLaw = require(path.join(__dirname, 'nodeHelperFunctions/datasources')).service
    , connPG = require(path.join(__dirname, 'nodeHelperFunctions/datasources')).postgis
    , headers = require(path.join(__dirname, 'helperHtml/headers'))
    , footers = require(path.join(__dirname, 'helperHtml/footers'))
    , passCheck = require(path.join(__dirname, 'nodeHelperFunctions/hashsalt'))
    ;

同样,在Windows中也能很好地工作,但是在Linux上也出现了类似的错误:

代码语言:javascript
运行
复制
module.js:471
    throw err;
    ^

Error: Cannot find module '/home/ec2-user/testbed/js/nodeHelperFunctions/datasources'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ec2-user/testbed/js/app.js:17:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

如何才能让我自己编写的person脚本在Linux上工作,而这些脚本在Windows上运行得很好呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-24 23:07:08

很难用您发布的内容来判断--但是要求linux上的模块对文件名大小写敏感,而windows....not所以。试着查查这个案子。

编辑:不仅仅是文件名,还有整个路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43010523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档