问题
是否有任何 Webpack 配置专家能够告诉我为什么我不能在运行时将我的 css 提取到 dist 文件夹中npm run build
?回购在这里:https ://github.com/damodog/webpack4-boilerplate
更多信息
总而言之,我一直在研究Webpack Guide 文档,一切进展顺利。js 和 css 分别通过<link>
和<script>
标签注入到我的 index.html 文件中。我已经安装了各种加载器、插件等,并将我的配置分成通用(共享)、开发和产品文件(根据文档),生活很好。
我碰巧做了一些调整,包括查看代码拆分动态导入npm run build
、为路径添加别名、将 js 移动到 js 文件夹等,并注意到当我突然运行构建时,我的 css 没有被添加到 dist 文件夹中。我恢复了动态导入内容的试用更改,并尝试恢复其他更改,但仍然遇到同样的问题。令人讨厌的是,此时我还没有添加 git,所以没有清楚地了解我为找到我所做的更改所做的“调整”。
发生什么了
当我运行我的监视任务npm start
时,styles.scss 文件(导入到主 index.js 文件中)被编译到 css 中,并且在我的本地主机中查看时,生成的 app.css 文件被注入到 index.html 页面中。所有的肉汁。
<link href="css/app.css" rel="stylesheet">
当我运行npm run build
css 文件应该被复制到 dist 文件夹时,应该添加一个哈希 id 并且 css 应该被缩小。这是有效的(就像我上面说的那样),我可以在构建步骤中看到 css 文件(参见下面的第一个资产。顺便说一句,与下一个屏幕截图相比,这里忽略了 js 捆绑文件的差异。这是我玩代码拆分的时候)。
现在,当我运行它时,css 没有捆绑在一起(见下文)。
我认为这可能与 mini-css-extract-plugin 有关,但我已根据文档使用高级配置示例进行了配置(我已将他们的示例拆分为一个配置文件,因为我有单独的配置dev 和 prod 的文件)。
我真的不明白为什么会这样。帮助我的读者。你是我唯一的帮助...