目前总是不成功,提示module.js:471,抛出错误,无法找到模块之类的。


按照这个链接里给的方法,我查看了下路径。上面的是全局模块的安装路径,下面是全局模块的默认搜索路径。


我尝试把环境变量中用户变量和系统变量的path和NODE_PATH都设置成D:\Program Files\nodejs\node_global\node_modules,然后发现连node -v指令都报错了,node不是有效命令。我把系统变量的路径改回D:\Program Files\nodejs就没问题了。但是执行js文件还是不行。无论放在D盘的哪个位置都访问不到,放到C盘C:\Users\Administrator.USER-20160312BT目录下面就可以,也不用关了cmd重启,只要复制到该目录下立马就可以了。


其实从第1条抛出的错误也能看出来,它是在C:\Users\Administrator.USER-20160312BT这个目录下找不到模块test.js,test.js就是要加载的模块?所以只要把文件放到这个目录下面就可以访问到了。

另外我如果换一种访问不用node命令来访问,而是在开发模式下用require加载的话test.js文件就必须放在node_global文件夹下面才能被访问,放在C盘用户目录下都不行。

对于3,4,5,我这时环境变量的配置是两个变量的path路径都只到nodejs,而NODE_PATH都是到全局模块下的。

综合以上测试,要么就把项目放在全局模块的文件夹下,要么就放在C盘用户目录下,前者只能用require加载,后者只能用node命令行加载(最新测试显示可以用require('./test.js')加载,但是不能项目全放在C盘里吧)。真是尴尬,也不知道是啥原因。先这样吧。

最新发现,亲测可用。

。我尝试cd d:\Program Files\nodejs\node_global\node_modules,发现不可行

,这应该是因为命令行没法识别Program Files中间的空格,直接被拆开了,所以找不到这样一个文件夹,而我换成一个没有空格的F盘的文件夹,然后把test.js文件复制进去,然后cd到这个文件夹,用 node test.js访问就行了。

所以解决办法就是你把项目放在哪儿都行,但是要访问的时候记得先cd命令定位到该文件夹(也可以直接node f:/DW/test.js),文件夹名注意不要有空格,可以用下划线代替,然后就可以node访问啦!至于用require访问,就更简单了,记得在文件名前加.\就可以啦,OVER。参考链接