【问题标题】:Upload npm dependencies to a server将 npm 依赖上传到服务器
【发布时间】:2016-12-05 22:11:37
【问题描述】:

在以下情况下我需要一些帮助:

目前我正在使用 Maven 和 Spring 来开发一个 Web 应用程序。我的团队正在下载不同框架的依赖项,但现在我想使用 npm 来简化依赖项管理。

当我运行 npm install 时,它会在本地下载依赖项,但想法不是将 node_modules 文件夹上传到 git 或 web,而是拥有 package.json 文件并在每台计算机中手动下载它们。 我知道该应用程序被压缩在一个war文件中(我不知道何时以及如何,当我开始在这里工作时就是这样),并且何时压缩它会下载maven依赖项(或者这就是我所理解的) .我想对 npm 依赖项做同样的事情,想法是在压缩整个应用程序之前配置它必须运行 npm install 的地方。

有人知道怎么做吗?我希望你能明白。

谢谢!

【问题讨论】:

    标签: node.js npm dependencies


    【解决方案1】:

    假设使用 Maven 战争插件进行战争打包 - 你不能从中调用 npm 命令。

    注意:使用 war: 目标时,假定编译阶段已经完成。 WAR 插件不负责编译 java 源代码或复制资源。

    https://maven.apache.org/plugins/maven-war-plugin/usage.html

    作为端点的解决方法,如果您的服务器有权访问 npm 存储库,您可以通过 npm install -g 安装所需的模块。否则需要手动复制node-modules

    不要忘记权限。

    【讨论】:

    • 如何知道服务器是否可以访问 npm repo?这取决于服务器?如果有,我必须在哪里编写命令“npm install -g”?如果它无法访问,当我下载 node_modules 文件夹时,有时会使用我计算机中的特定根目录下载,这可能无法在服务器上运行。反正有没有自动将其更改为相对位置?谢谢!
    • -g 将在 npm 实例上全局安装包。因此,尽管node-modules 将丢失,但它们将在全球范围内可用。但是如果版本或依赖项在您的项目中发生变化 - 它不会自动安装在服务器端。应该以与npm install 相同的方式运行package.json
    • 全球范围内是什么意思?它会自动查找 package.json 吗?我无法理解。如果我更新 package.json 中的版本,服务器端不会更新?如果它不能那样工作,节点的有用部分是什么?谢谢你,很抱歉这些问题!
    • 修复权限:chown -R user:usergroup node-modules 如果需要,使用 sudo 前缀)
    • package.json 中的版本不会在服务器端更新? - 不。如果你想要一些自动化 - 使用 GULP 和更新模块插件:npmjs.com/package/gulp-update-modul
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多