js 怎么提取css,Nuxt.js将页面中css样式提取到一个css文件中

看下未提取的css的部分源码

2097084494796062.png

实现将页面中css 提取到 link的方法比较简单:在nuxt.config.js下的build里添加 extractCSS: { allChunks: true }即可。

build: {

extractCSS: { allChunks: true },

}

注意:npm run dev 启动项目后是没有任何变化,要先运行npm run build,在运行 npm start,就能成功了吧。(只有生产环境下有效)

优化后的代码:

06920100098697013.png

原理

打开链接文档中有提到webpack的配(https://github.com/nuxt/nuxt.js/tree/master/lib/builder/webpack)

base.config.js

// CSS extraction

const extractCSS = this.options.build.extractCSS

if (extractCSS) {

const extractOptions = Object.assign(

{ filename: this.getFileName('css') },

typeof extractCSS === 'object' ? extractCSS : {}

)

config.plugins.push(new ExtractTextPlugin(extractOptions))

}

style-loader.js

// -- With extractCSS --

// TODO: Temporary disabled in dev mode for fixing source maps

// (We need `source-map` devtool for *.css modules)

if (this.options.build.extractCSS && !this.options.dev) {

// ExtractTextPlugin

// https://github.com/webpack-contrib/extract-text-webpack-plugin

const extractLoader = ExtractTextPlugin.extract({

use: loaders,

fallback: vueStyleLoader

})

// css-hot-loader

// https://github.com/shepherdwind/css-hot-loader

const hotLoader = {

loader: 'css-hot-loader',

options: { sourceMap }

}

return this.options.dev ? [hotLoader].concat(extractLoader) : extractLoader

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值