上传NPM依赖于服务器
问题描述:
我需要一些帮助,下面的情况:上传NPM依赖于服务器
目前我与Maven和Spring为了做一个Web应用程序的工作。我的团队正在下载不同框架的依赖项,但现在我想用npm来简化依赖关系管理。
当我运行npm install时,它会在本地下载依赖关系,但不是将node_modules文件夹上传到git或web,而是将package.json文件下载到每台计算机上。 我知道应用程序是压缩在一个战争文件中(我不知道什么时候以及如何,当我开始在这里工作时就是这样工作的),并且什么时候压缩它下载maven依赖关系(或者这就是我所理解的)。我想和npm的依赖关系一样,想法是在压缩整个应用程序之前配置它必须运行npm install。
有谁知道该怎么做?我希望你能明白这个主意。
谢谢!
答
假设使用战争包Maven war插件 - 你不能从它调用npm命令。
注意:使用war:目标时,假定编译阶段已经完成。 WAR插件不负责编译java源代码或复制资源。
https://maven.apache.org/plugins/maven-war-plugin/usage.html
至于解决方法端点可以安装所需的模块通过npm install -g
如果你的服务器有访问NPM回购。否则,您需要手动复制node-modules
。
不要忘记权限。
如何知道服务器是否可以访问npm回购?它取决于服务器?如果有,我必须在哪里写命令“npm install -g”? 如果它没有访问权限,当我下载node_modules文件夹时,有时使用我的计算机中的特定根进行下载,而这可能无法在服务器上使用。有没有办法自动将其更改为相对位置? 谢谢! – Motomine
'-g'将在npm实例上全局安装包。所以尽管'node-modules'将会丢失,它们将在全球范围内可用。但是如果版本或依赖关系在您的项目中发生变化 - 它不会自动安装在服务器端。应该和'npm install'一样运行'package.json' –
你是什么意思与gloabally?它会自动查找package.json?我无法理解这一点。如果我更新package.json中的版本将不会在服务器端更新?如果那不起作用,节点的有用部分是什么?谢谢你,对于这些问题感到抱歉! – Motomine