例如Express之类的东西,默认情况下没有Node。我必须使用var express = require('C:/Users/User/node_modules/express');
而不是var express = require('express');
。我注意到默认情况下出现的模块,例如http,与我安装的模块位于同一位置。那么我需要做什么才能不必编写整个目录。如果它有所不同,我将所有Node项目保留在C:/Node/
中,而不是默认项目。
答案 0 :(得分:2)
这种情况正在发生,因为您可能没有在本地安装节点模块。为此你需要一个package.json文件,你可以通过运行
获得npm init
这将询问您有关项目的一些问题,并将在本地设置节点。将创建一个看起来像这样的package.json文件(没有依赖项)。
{
"name": "express-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "Link to your repository"
},
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^1.0.2",
"body-parser": "^1.17.2",
"chalk": "^2.0.1",
"compression": "^1.7.0",
"cookie-parser": "^1.4.3",
"cors": "^2.8.4",
"express": "^4.15.3",
"glob": "^7.1.2",
"moment": "^2.18.1",
"mongoose": "^4.11.3",
"morgan": "^1.8.2",
"passport": "^0.3.2",
"path": "^0.12.7",
"yargs": "^8.0.2"
}
}
然后,您可以通过将它们放在依赖项中并运行
来添加所需的节点模块npm install
如果要从commond line添加节点模块,可以使用
npm install
package-name
--save