【发布时间】:2019-11-18 03:29:19
【问题描述】:
说明
在 webpack 中我使用 mini-css-extract-plugin:
plugins: [
new MiniCssExtractPlugin({
filename: '[name].[hash].css',
chunkFilename: '[name].[hash].css',
})
]
在块文件中加载scss文件:
{
test: /\.scss$/,
use: [
{ loader: MiniCssExtractPlugin.loader, options: {
hmr: isdev,
reloadAll: true
}
},
"css-loader",
"sass-loader",
]
}
当我使用 动态导入 加载 scss 时:
import(/* webpackChunkName: "test" */ 'test.scss')
它将生成一个包含样式的 test.[hash].css 和一个 test.[hash].js:
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[15],{
/***/ 81:
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ })
}]);
问题
我想尽量减少延迟和加载文件,因此我发现有一个几乎为空的 test.[hash].js 文件是多余的。
您是否有办法在 js 文件中包含 scss(参见想法 1)或不发出/使用几乎为空的 js 文件?
想法 1:不使用 mini-css-extract-plugin
我的第一个想法是不使用 mini-css-extract-plugin 来动态导入 scss,但这会在 js 中包含很多基于 css 的东西 (https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/255)。
【问题讨论】:
-
看起来很有希望,谢谢!我会尽快检查的。
-
不幸的是 webpack-fix-style-only-entries 不起作用,我在这里添加了一个新问题:github.com/fqborges/webpack-fix-style-only-entries/issues/19
-
我找到了一个更新的插件,它可以工作:libraries.io/npm/webpack-remove-empty-scripts
标签: node.js webpack sass mini-css-extract-plugin