节点 js 中 require 模块的路径在 windows 中工作,但在 linux 中不工作
path of require module in node js work in windows but not in linux
我的代码中有这个
var queries = require('./Queries.js');
当在 windows cmd 中启动节点服务器时可以。
我在 linux ec2 服务器中克隆了项目,但是当我启动服务器时
无效
Error: Cannot find module './Queries.js'
编辑:
验证 'Queries.js'
的路径
案例 1) 假设您安装了 NodeJS,您正在寻找的正确语法如下
var queries = require('querystring');
情况 2) :但是,如果您在另一个 javascript 文件中引用代码,请在当前文件的顶部放置类似于下面的内容。
require('./Queries.js'); //Queries.js is in the current directory
或
require('./path/to/Queries.js'); //The path to Queries.js
因为这似乎是你的问题,所以将我的评论作为答案:
在 Windows,文件名不区分大小写。在 Linux 上,文件区分大小写。对于为这两个平台编写跨平台代码的任何人来说,这是一个常见的平台差异。
因此,请确保您的文件位于正确的位置并以准确的大小写命名 Queries.js
。
我通常发现最好不要在编程文件名中使用混合大小写(总是全部小写),这样你就不会遇到这个问题。
我的代码中有这个
var queries = require('./Queries.js');
当在 windows cmd 中启动节点服务器时可以。
我在 linux ec2 服务器中克隆了项目,但是当我启动服务器时 无效
Error: Cannot find module './Queries.js'
编辑:
验证 'Queries.js'
的路径案例 1) 假设您安装了 NodeJS,您正在寻找的正确语法如下
var queries = require('querystring');
情况 2) :但是,如果您在另一个 javascript 文件中引用代码,请在当前文件的顶部放置类似于下面的内容。
require('./Queries.js'); //Queries.js is in the current directory
或
require('./path/to/Queries.js'); //The path to Queries.js
因为这似乎是你的问题,所以将我的评论作为答案:
在 Windows,文件名不区分大小写。在 Linux 上,文件区分大小写。对于为这两个平台编写跨平台代码的任何人来说,这是一个常见的平台差异。
因此,请确保您的文件位于正确的位置并以准确的大小写命名 Queries.js
。
我通常发现最好不要在编程文件名中使用混合大小写(总是全部小写),这样你就不会遇到这个问题。