怎样抽离vue文件中的css

html-css010

怎样抽离vue文件中的css,第1张

webpack打包vue项目的时候默认会把vue里的css打包到页面上。

webpack.config.js里的plugins加上以下配置

new webpack.LoaderOptionsPlugin({  

   test:/\.vue$/,  

   options: {  

       vue: {  

            loaders: {  

               css: ExtractTextPlugin.extract({  

               fallback:'vue-style-loader',   

               use:'css-loader',  

               publicPath:"../"  

             }),  

           }  

       }  

   }  

)

这样可以把css提取到公共style里。

文接上回,继续看 webpack 的插件:这里默认你已经搭建出来一个 React 框架。我就是在这个基础上演示的。

mini-css-extract-plugin作用: 该插件的主要是为了抽离 css 样式,防止将样式打包在 js 中文件过大和因为文件大网络请求超时的情况。

extract-text-webpack-plugin 是 mini-css-extract-plugin 的前身,不过前者在 webpack4 算是废了。

安装依赖:

然后引入,配置提出 css 样式,重命名 css 文件。

其中上面的 rules 还可以修改变成这样:

打包出来的 index.css将会插入 index.html 里面的 head 标签里面。

现在如果使用下面的样式:

其中 transform: rotate(45deg) 是 css3 的样式。我们想批量给它增加前缀。这时就得使用 autoprefixer 。但是还的用一个 loader 来处理,这个 loader 就叫 postcss-loader 。

安装依赖:

配置时 postcss-loader 执行顺序必须保证在 css-loader 之前。

完成之后 在webpack.config.js 同级目录下新建 post.config.js 输入内如下:

打包之前的 css 样式为:

经过插件处理之后为:

如果你不想新建一个 post.config.js 文件的话可以这样配置:

处理的效果是完全和分开写一样的。

这里需要注意的是在 HtmlWebpackPlugin 插件里面的配置压缩 css 参数只对自己创建的模板有效,所以这里引包的 css 并没有压缩。我们还的专门配置 压缩 css 的插件。它就是 optimize-css-assets-webpack-plugin 。 terser-webpack-plugin 是对打包的 JS 进行压缩的。

安装依赖:

注意: 使用 optimize-css-assets-webpack-plugin 插件和 terser-webpack-plugin 插件的时候 webpack 的 mode (模式)一定的是 生产模式(production)

简单配置就能压缩 css 和 JS 了。还是很有用的,压缩完成明显文件变小了。

友情提示:

build:webpack配置文件

config:webpack配置文件

node_modules:安装的依赖包

src:所有的组件都写在里面

static:所有第三方的静态资源存放目录

.babelrc:babel的一些配置(比如将es6编译成es5的一些配置)

.editorconfig:编辑器的一些配置(包括编码格式,缩进风格,换行格式)

.gitignore:配置Git仓库忽略的一些文件(不会上传)

.postcssrc.js 配置postcss的文件(主要是css样式兼容性,自动加前缀(autoprefixer))

index.html:入口html文件。

package.json: 项目的一些配置信息(项目的一些具体信息)

package-lock.json就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。

autoprefixer:是用于给css3属性自动加属性前缀的

babel系列都是处理语法的

chalk:适用于格式化输出命令行信息的,比如run dev以后的start...

copy-webpack-plugin:在webpack中拷贝文件和文件夹

extract-text-webpack-plugin:为了抽离css样式,防止将样式打包在js中引起页面样式加载错乱的现象

file-loader:操作文件

friendly-errors-webpack-plugin:能够更好在终端看到webapck运行的警告和错误

html-webpack-plugin :插件的基本作用就是生成html文件

node-notifier:来发送桌面消息,包括应用状态改变以及错误信息

optimize-css-assets-webpack-plugin:压缩提取出的css,并解决ExtractTextPlugin分离出的js重复问题(多个文件引入同一css文件)

ora:命令行里自动运行的信息提示

portfinder:可以帮你找出正在运行的进程打开了哪些端口

rimraf:跑shell命令 rm-rf 的工具

semver:是用来对特定的版本号做判断的(check-version.js)中

shelljs:selljs是在node里跑shell命令的工具,比如‘rm -rf’在(check-version.js)中,属于Unix命令

uglifyjs-webpack-plugin:压缩js

webpack:打包工具

webpack-bundle-analyzer:打包优化工具,可得到一个可视化模块大小界面

webpack-dev-server:配合webpack,创建开发环境(启动服务器、监视文件变化、自动编译、刷新浏览器等),提高开发效率

webpack-merge:合并