繁体   English   中英

Node.js不能在同一目录中要求.js文件

[英]Node.js cannot require a .js file in the same directory

我有一个带有main.js的node-webkit项目。 在最顶端,我有

var updater = require("./updater.js");

我在main.js目录中有一个名为updater.js的文件。 当我运行应用程序时,我收到错误

Uncaught Error: Cannot find module './updater.js' 

updater.js有一行:

module.exports = "Hello!";

我不知道为什么它不能要求文件。 我见过另一个项目做同样的事情。 我可以require定期npm模块来自同一个就好了main.js

这是因为,当你使用node-webkit运行app(main.js)时,root(working)目录就是index.html所在的位置,所以'./'指的是那个目录而不是你的文件所在的目录从中请求模块。

您可以通过在'path'节点模块中使用resolve方法轻松解决此问题,并将其输出提供给工作文件中的require方法

只需执行以下操作:

var path = require('path');
var updater = require( path.resolve( __dirname, "./updater.js" ) );

编辑:全局节点对象'__dirname'(和其他)的信息可以在这里找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM