前两天误操作把nodejs和workspace给shift del了,差点儿没撞墙。今天又从安装node express开始。

安装完之后,用express新建工程,运行node app,结果出现了一个从未见过的错误。


D:\node\npm-global\express:2
basedir=dirname "$0"
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:437:25)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (E:\js\sinter\app.js:2:15)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)


原因是express等module都是安装在了globle目录下,我们新建的项目中没有module需要复制过来或者重新下载。

npm install,下载文件如下图:

154119622.jpg


再次运行node app,正常。


解释一下,出现这个问题的原因。

由于个人理解的问题,以为以-g 命令安装的模块,在任何app中都能自动的找到,无需再次安装。这个想法是想当然了。其实-g 命令安装,并且配置到setting path中,只是方便我们操作,在任何目录下直接用命令(如 express myapp)即可,而省却了路径(c:node\module\express.exe myapp)的麻烦。仅此而已!