如何将node_modules文件夹部署到生产服务器?
我在PHP(LAMP服务器)中制作一个非常简单的网站 (如pastebin)。 这个网站使用jquery和bootstrap。 我之前使用了bower
,但是我想切换到使用npm
。
我的目录结构是这样的:
- 上市
- HTML
- 的index.php
- node_modules
- jQuery的
- DIST
- 的jquery.js
- 加上几十个不必要的文件夹
- DIST
- 引导
- …
- jQuery的
- HTML
当我使用bower时,我曾经将整个bower_components文件夹上传到我的FTP服务器。 我的node_modules文件夹相当大,包含数百个文件,所以我不知道是否应该上传它?
我想我可以上传package.json并在上传后在我的web服务器的命令行上运行npm install
,但是会暴露node_modules文件夹给公众构成潜在的安全隐患?
你的node_modules
文件夹应该放在你的.gitignore
如果你使用的是git-。 不,你不上传整个文件夹。 正如你所说,你运行npm install
。 这也适用于bower ,你不应该上传bower_components
文件夹,你应该在你的服务器上运行命令。
至于问题的其他部分,你不应该公开node_modules
。 你所做的是使用一些任务pipe理器或一些打包器(gulp,grunt,webpack),并创build一个捆绑(或concatted)版本的文件(css和js)。 一旦你有这个文件,这就是你所暴露的。 这就是你在索引中包含的内容,例如<script src="dist/bundle.min.js"></script>