我正在学习节点js,并且已经建立了一个小型网站,该网站使用了一些依赖项,例如jquery和几个其他js文件。在将站点移至实时服务器时,如何迁移生产中使用的依赖项?我是否需要下载jquery文件和其他js库文件,然后像通常那样将链接添加到我的脚本标签中,就像我猜到生产点中的所有内容都在node_modules文件夹中一样?
对不起,听起来有些愚蠢,但我仍在学习npm。
赞赏任何建议 鲁弗斯(Rufus)
答案 0 :(得分:0)
在Node.js中,服务器端依赖项保存在package.json文件中,它们描述了您需要的所有依赖项。
您通过键入
创建此文件npm init
这将提示您一些详细信息(您可以使用-y标志跳过。)
要安装服务器端依赖项,我想您已经使用过:
npm install <dependency>
要确保已保存,您可以输入
npm install <dependency> --save
例如
npm install lodash --save
这将更新您的package.json。
package.json应该存储在源代码管理中,并且可以使用以下方式恢复依赖关系:
npm install.
package.json文件的示例如下所示:
{
"name": "node_test_project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"lodash": "^4.17.11"
}
}
如果看到package-lock.json文件(NPM的更高版本),则也应将其添加到源代码管理中。
答案 1 :(得分:0)
我个人只是使用npm install lodash
然后
app.use('/scripts/lodash', express.static(__dirname + '/node_modules/lodash/'));
那样,我可以将其用作(在node.js中)
const _ = require('lodash');
或在html文件中作为
<script src='/scripts/lodash/lodash.js'></script>
防止整个“复制到public / js” ...
或者,如果您只是在谈论构建过程,则只需在生产服务器上运行npm install
,它就会再次安装packages.json
中的所有软件包。