Javascript 如果我';我在用网页包吗?

Javascript 如果我';我在用网页包吗?,javascript,node.js,npm,webpack,Javascript,Node.js,Npm,Webpack,要明确的是,我不是在询问是否需要live host server上的node_modules文件夹。堆栈溢出上已经存在该问题和答案。一般来说,一致的答案是肯定的——我在运行时仍然需要node_modules目录 我也不询问运行npm init或npm install的问题。我明白这是怎么回事 我特别问-如果我在构建过程中使用webpack,我是否仍然需要live/host服务器上的node_modules目录?webpack不是将所有必要的JS等捆绑到文件夹中吗?如果使用webpack,是否可以

要明确的是,我不是在询问是否需要live host server上的node_modules文件夹。堆栈溢出上已经存在该问题和答案。一般来说,一致的答案是肯定的——我在运行时仍然需要node_modules目录

我也不询问运行npm init或npm install的问题。我明白这是怎么回事

我特别问-如果我在构建过程中使用webpack,我是否仍然需要live/host服务器上的node_modules目录?webpack不是将所有必要的JS等捆绑到文件夹中吗?如果使用webpack,是否可以删除节点\模块文件夹?或者,在运行时我仍然需要该目录吗

这仅适用于基本的前端、客户端web应用程序。此前端仅为后端服务调用其他API。此前端web应用程序托管在Windows/IIS上

该站点发布的代码包括如下静态引用:

<link rel="stylesheet" href="/css/app.css?id=f243e9c6546d420fec1f">
<script src="/js/app.js?id=bf7be8f179cc272c0190"></script>


忽略id=part,因为我认为这是用于缓存破坏的web框架的一部分。

不,构建后所有内容都在捆绑包中。您可以将定义为的文件(通常是“dist”文件夹中的任何文件)粘贴到您想要的任何静态服务器上,而无需支持的
节点\u模块

在web包构建过程中,需要节点模块文件夹,因为从节点\u模块导入文件时,web pack将尝试递归地从特定的node_模块文件夹获取文件

成功完成构建后,您将获得一个包含部署的所有捆绑包的dist包文件夹,其中不包含node_modules文件夹

您可以使用

npm run build

你如何使用这个包?它是将在静态托管服务器上运行的静态资源,还是您正在运行类似于express应用程序的东西?Webpack将所有资源捆绑成一个静态捆绑包。换句话说,您的客户端资源是捆绑的,但是如果您的应用程序不是一个独立的前端/后端节点应用程序,那么您可能仍然需要
node\u modules
目录。你能再解释一下你的设置吗?@zero298谢谢。应用程序仅引用捆绑的JS和CSS。我已经更新了这个问题,包括这是仅在Windows/IIS上运行的基本前端web应用程序。我想知道捆绑的JS文件中的代码是否需要/引用node_modules文件夹中的代码。谢谢你。为了更加肯定,你能添加你的
webpack.config.js
?@zero298我不能添加webpack.config.js。实际上,我正在使用Laravel的包装器来制作名为Mix()的网页包。它使用完全不同的配置文件。但是为了简单起见,为了回答这个问题,我选择只说webpack.node_模块只能由nodejs执行的javascript读取(包括webpack命令行工具本身,它是与node一起运行的)。如果您没有在服务器上运行node,则不需要node_模块。静态文件从不直接从节点_模块提供