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

时间:2017-08-14 14:30:46

标签: php node.js npm bower node-modules

我在PHP(LAMP服务器)中创建了一个非常简单的网站(如pastebin)。该站点使用jquery和bootstrap。我之前使用的是bower,但我想转而使用npm

我的目录结构如下:

  • 公共
    • HTML
      • 的index.php
      • node_modules
        • 的jquery
          • DIST
            • 的jquery.js
          • 加上数十个不必要的文件夹
        • 自举
          • ...

当我使用bower时,我曾经将整个bower_components文件夹上传到我的FTP服务器。我的node_modules文件夹非常大,包含数百个文件,因此我不确定是否应该上传它?

我想在上传后我可以上传package.json并在我的网络服务器的命令行上运行npm install,但会将node_modules文件夹暴露给公共潜在的安全风险吗?

1 个答案:

答案 0 :(得分:9)

您的node_modules文件夹应该在.gitignore - 如果您使用的是git-。不,你不上传整个文件夹。正如你所说,你运行npm install。这也适用于 bower ,您不应该上传bower_components文件夹,您应该在服务器中运行该命令。

至于问题的其他部分,你不应该公开node_modules。你要做的是使用一些任务管理器或一些捆绑器(gulp,grunt,webpack)并创建一个捆绑(或连接)版本的文件(css和js)。一旦你有这个文件,那就是你揭露的内容。这是您在索引中包含的内容,例如<script src="dist/bundle.min.js"></script>