如何将 node_modules 文件夹部署到生产服务器?
How to deploy node_modules folder to production server?
我在 PHP(LAMP 服务器)中制作了一个 非常简单的网站(类似于 pastebin)。本网站使用 jquery 和 bootstrap。我之前使用的是 bower
,但我想改用 npm
。
我的目录结构是这样的:
- public
- html
- index.php
- node_modules
- jquery
- 距离
- jquery.js
- 加上几十个不需要的文件夹
- bootstrap
- ...
当我使用 Bower 时,我曾经将整个 bower_components 文件夹上传到我的 FTP 服务器。我的 node_modules 文件夹非常大,包含数百个文件,所以我不确定是否应该上传它?
我想我可以在上传后在我的网络服务器的命令行上上传 package.json 和 运行 npm install
,但是会将 node_modules 文件夹暴露给 public 构成潜在的安全风险?
您的 node_modules
文件夹应该在您的 .gitignore
中 - 如果您使用的是 git-。不,您不会上传整个文件夹。你,如你所说,运行npm install
。这也适用于 bower,您不应上传 bower_components
文件夹,您应该 运行 服务器中的命令。
至于问题的另一部分,你也不应该暴露node_modules
。你所做的是使用一些任务管理器或一些捆绑器(gulp、g运行t、webpack)并创建文件(css 和 js)的捆绑(或连接)版本。一旦你有了这个文件,这就是你公开的内容。这就是您在索引中包含的内容,例如 <script src="dist/bundle.min.js"></script>
我在 PHP(LAMP 服务器)中制作了一个 非常简单的网站(类似于 pastebin)。本网站使用 jquery 和 bootstrap。我之前使用的是 bower
,但我想改用 npm
。
我的目录结构是这样的:
- public
- html
- index.php
- node_modules
- jquery
- 距离
- jquery.js
- 加上几十个不需要的文件夹
- 距离
- bootstrap
- ...
- jquery
- html
当我使用 Bower 时,我曾经将整个 bower_components 文件夹上传到我的 FTP 服务器。我的 node_modules 文件夹非常大,包含数百个文件,所以我不确定是否应该上传它?
我想我可以在上传后在我的网络服务器的命令行上上传 package.json 和 运行 npm install
,但是会将 node_modules 文件夹暴露给 public 构成潜在的安全风险?
您的 node_modules
文件夹应该在您的 .gitignore
中 - 如果您使用的是 git-。不,您不会上传整个文件夹。你,如你所说,运行npm install
。这也适用于 bower,您不应上传 bower_components
文件夹,您应该 运行 服务器中的命令。
至于问题的另一部分,你也不应该暴露node_modules
。你所做的是使用一些任务管理器或一些捆绑器(gulp、g运行t、webpack)并创建文件(css 和 js)的捆绑(或连接)版本。一旦你有了这个文件,这就是你公开的内容。这就是您在索引中包含的内容,例如 <script src="dist/bundle.min.js"></script>