错误:找不到模块' C:\ server.js'在Node服务器中为Meanjs

时间:2017-04-28 18:37:27

标签: node.js gulp meanjs nodemon

我有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)
  });
});

1 个答案:

答案 0 :(得分:0)

通过删除以下路径中的注册表中的自动运行字符串,解决了上述问题。

&#34; HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor&#34;。

自动运行字符串设置为C:因此Nodemon将C:识别为根目录而不是Gitbash或命令提示符中的当前目录。