我想知道是否可以单独安装节点包,然后可以由不同的开发应用程序访问。例如,每当我在使用react应用程序时,我都会执行npm install以获取应用程序所需的所有节点包。但是,似乎这会得到很多不必要的额外内容。有办法吗
由于我的问题没有得到解答,我添加了以下内容:
让我们说我有以下package.json。如果我导航到我的app.json文件所在的app文件夹并且npm install
,那么安装什么内容以及在哪里?我的假设是只安装devDependencies和依赖项中列出的软件包,并且它将在本地安装,因为我没有指定global。那么当我进入我的app中的node_modules文件夹时,为什么会看到数百个其他软件包(下面列表中没有的软件包)?
我想要的是只安装下面列出的软件包并使它们全局化,这样如果我进入另一个app目录,我就不必重新安装这些软件包了。
{
"devDependencies": {
"babel-eslint": "7.1.1",
"babel-jest": "18.0.0",
"concurrently": "3.1.0",
"enzyme": "2.7.1",
"eslint": "3.12.1",
"eslint-config-defaults": "9.0.0",
"eslint-plugin-react": "6.7.1",
"jest": "18.1.0",
"json-server": "0.9.4",
"react-addons-test-utils": "15.4.2",
"react-test-renderer": "15.4.2",
"rimraf": "2.5.4",
"sass-lint": "1.10.2",
"tslint": "4.3.1",
"webpack-dev-server": "2.6.1"
},
"dependencies": {
"bootstrap": "4.0.0-alpha.6",
"bootstrap-loader": "2.0.0-beta.20",
"copy-webpack-plugin": "4.0.1",
"css-loader": "0.26.1",
"empty": "0.10.1",
"extract-text-webpack-plugin": "2.0.0-rc.3",
"file-loader": "0.10.0",
"html-loader": "0.4.3",
"html-webpack-plugin": "2.26.0",
"key-mirror": "1.0.1",
"lodash": "4.16.2",
"node-sass": "4.5.0",
"null-loader": "0.1.1",
"postcss": "5.2.9",
"postcss-import": "9.1.0",
"postcss-loader": "1.2.1",
"raw-loader": "0.5.1",
"react": "15.4.2",
"react-addons-css-transition-group": "15.4.2",
"react-dom": "15.4.2",
"react-redux": "5.0.2",
"react-router": "3.0.0",
"react-router-redux": "4.0.7",
"redux": "3.6.0",
"redux-thunk": "2.1.0",
"resolve-url-loader": "1.6.1",
"sass-loader": "5.0.1",
"style-loader": "0.13.1",
"ts-loader": "1.3.3",
"typescript": "2.1.4",
"url-loader": "0.5.7",
"webpack": "2.2.1",
"whatwg-fetch": "2.0.3"
},
}
答案 0 :(得分:0)
这正是全球程序包的用途。 npm i -g <package>
也i recommend using nvm to manage your different node versions。这样,您可以根据版本使用不同的全局包。您甚至可以为多个安装设置别名。
答案 1 :(得分:0)
您可以全局安装nodeJs,然后为您需要的软件包执行npm install并将其保存在package.json中。通过这种方式,您可以知道下次要安装哪些软件包,并且只需要安装npm。