我有git将meanjs克隆到D:驱动器中的文件夹中,如下所示,并运行命令npm start以启动节点服务器。
admin@admin-PC MINGW32 /d/Udemy Angular 1 projects/Project5/jobfinder (master)
$ npm start
> meanjs@0.5.0 start D:\Udemy Angular 1 projects\Project5\jobfinder
> gulp
[23:41:30] Using gulpfile D:\Udemy Angular 1 projects\Project5\jobfinder\gulpfile.js
....并得到以下错误。
Error: Cannot find module 'C:\server.js'
at Function.Module._resolveFilename (module.js:455:15)
at Function.Module._load (module.js:403:25)
at Module.runMain (module.js:590:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
[23:58:35] [nodemon] app crashed - waiting for file changes before starting...
之后,只是尝试一下,我将server.js从当前目录复制到C:\并发出' npm start'来自同一目录的git bash命令,错误更改为以下。
Debugger listening on [::]:5858
module.js:457
throw err;
^
Error: Cannot find module './config/lib/app'
at Function.Module._resolveFilename (module.js:455:15)
at Function.Module._load (module.js:403:25)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\server.js:6:11)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
[23:41:52] [nodemon] app crashed - waiting for file changes before starting...
任何人都可以帮助我理解为什么Node在C:\而不是当前目录中寻找server.js和其他资源?有什么非常简单的我错过了(虽然我觉得很奇怪!)。顺便说一句,我很抱歉将git bash错误发布为代码,因为我没有足够的声誉来发布多个图片链接。
干杯!
添加我的研究......
调用&nbsp; npm start&#39; meanjs目录中的命令命中文件gulpfile.js。查看文件,我看到gulp任务(nodemon)如下所示启动,并且返回对象的script属性设置为&#39; server.js&#39;。
来自gulpfile.js的代码。
gulp.task('nodemon', function () {
var nodeVersions = process.versions;
var debugArgument = '--debug';
switch (nodeVersions.node.substr(0, 1)) {
case '4':
case '5':
case '6':
debugArgument = '--debug';
break;
case '7':
debugArgument = '--inspect';
break;
}
console.log('nodemon task'); // checking execution of the callback
return plugins.nodemon({
script: 'server.js',
nodeArgs: [debugArgument],
ext: 'js,html',
verbose: true,
watch: _.union(defaultAssets.server.views, defaultAssets.server.allJS, defaultAssets.server.config)
});
});
答案 0 :(得分:0)
通过删除以下路径中的注册表中的自动运行字符串,解决了上述问题。
&#34; HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor&#34;。
自动运行字符串设置为C:因此Nodemon将C:识别为根目录而不是Gitbash或命令提示符中的当前目录。