如何将 node_modules 文件夹部署到生产服务器?

How to deploy node_modules folder to production server?

我在 PHP(LAMP 服务器)中制作了一个 非常简单的网站(类似于 pastebin)。本网站使用 jquery 和 bootstrap。我之前使用的是 bower,但我想改用 npm

我的目录结构是这样的:

当我使用 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>