cha*_*ath 7 javascript webpack
在以下示例(此处找到)中,style-loader
正在用作开发模式中的后备.为什么?
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const extractSass = new ExtractTextPlugin({
filename: "[name].[contenthash].css",
disable: process.env.NODE_ENV === "development"
});
module.exports = {
...
module: {
rules: [{
test: /\.scss$/,
use: extractSass.extract({
use: [{
loader: "css-loader"
}, {
loader: "sass-loader"
}],
// use style-loader in development
fallback: "style-loader"
})
}]
},
plugins: [
extractSass
]
};
Run Code Online (Sandbox Code Playgroud)
Mic*_*ngo 10
从JavaScript中提取CSS主要用于不必依赖您的JavaScript(捆绑)完全加载,直到它将CSS作为<style>
标记注入头部,这可能导致Flash无格式内容(FOUC).当然,它也用于简单地将CSS与JavaScript分开,因为这通常是首选,并允许单独缓存.
在开发过程中,这并不重要,因为FOUC基本上是一个性能问题,就像JavaScript的加载时间一样,希望你也不会在开发中使用.这既不是您的主要关注点,也不是开发模式中的代表.除了作为额外的编译步骤之外,提取CSS也带来了一些缺点.例如,您丢失了热重新加载,因为新编译的包没有随着CSS内容的提取而改变.优点主要是您关心生产的方面,缺点会对开发产生负面影响.另请参见用法 - 优点和注意事项.
为了清楚起见,在应用已配置的加载器之后使用回退,这只是一个额外的步骤,可以将CSS <style>
从JavaScript 注入到标记中,这是唯一style-loader
可行的.使用回退而不是将其提取到文件.
归档时间: |
|
查看次数: |
1982 次 |
最近记录: |