博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4、CommonChunkPlugin提取公共js-提取多个
阅读量:7250 次
发布时间:2019-06-29

本文共 3208 字,大约阅读时间需要 10 分钟。

cnpm install css-loader --save-dev    //css-loader 是将css打包进js

cnpm install style-loader --save-dev  //style-loader 将css通过require方式引入进来

cnpm install sass-loader node-sass  --save-dev //同时安装sass 和sass-loader

cnpm install extract-text-webpack-plugin --save-dev //把css从js中提取出来

目录结构(publi为src编译生成的文件)

html

            
6r

456

index.scss

$col:pink;@import "./demo"; //导入cssbody{
font-size: 900%; #app{color:$col;}}

demo.css

#demo{
color:blue;}

index.js

 

//loader-cssrequire("../css/index.scss"); $('#app').html("1334");$("#app").click(function(event){        alert(123)    });

 

webpack.config.js

 

var webpack = require("webpack");var webpckDevServer = require("webpack-dev-server");var ExtractTextPlugin = require('extract-text-webpack-plugin'); //抽离css插件var extractCss = new ExtractTextPlugin("css/index.css"); //实例化,并并填写输出的一个路径[]中表示输出默认名称,这个目录相对于提出的那个目录module.exports = {    entry:{        index:__dirname + "/src/js/index.js",//入口文件 webpack-dev-server 实时刷新监控的目录        ab:[__dirname +"/src/js/a.js",__dirname +"/src/js/b.js"], //输出后是一个总的ab,他们两个也会分别的被输出,引用顺序先b.js然后其他两个不分顺序        jq:['jquery'] //这是个多入口,可以写多个依赖的库,例如jq:['jquery','react'],这里引用了就不用在index.js里面用require或者用es6 import引用    },    output: {        path: __dirname + "/public/",        filename: "js/[name].js",        publicPath: '/assets/' //打开webpack-dev-server 服务器工具时可以再index里面引用此地址,打开速度会快一点,另外他不是直接在内存中存放而是先在webpack的虚拟内存中暂存,所以在webpack未编译之前能够运行,如果直接写实体目录则不经过webpack打包编译,浏览器是识别不了的,所以先放在这个虚拟目录里,因为是虚拟目录,所以你看不到他的编译文件    },    devServer: {        contentBase: "./",        //根目录        host: '192.168.199.171',        //ip设置 要相对的进行改变        port: "80",        //端口        colors: true,        open: true //自动打开浏览器       },    module: {        loaders: [{            test: /\.css$/,            //匹配.css文件            loader: ExtractTextPlugin.extract("style-loader", "css-loader")        },        {            test: /\.scss$/,            loader: ExtractTextPlugin.extract("style-loader", "css!sass")        }]    },    plugins: [        extractCss,        new webpack.optimize.UglifyJsPlugin({                compress: {                    warnings: false                } //自动压缩js,css        }),               new webpack.optimize.CommonsChunkPlugin({            names:['a','b'] // 上面入口定义的节点组 ,不这样上面的ab会集合在一个ab.js中,而不会从里面提取出来            })] }

 

package.json

 

{  "name": "webp2",  "version": "1.0.0",  "description": "",  "main": "index.js",  "scripts": {    "www": "cnpm run demo && cnpm run devServer",    "demo": "webpack --watch --progress -d -p --color",    "demo2": "webpack --config webpack.config123.js --watch --progress -d -p --color",    "start": "webpack --watch --progress -d -p --color",    "devServer": "webpack-dev-server --inline --hot"  },  "keywords": [],  "author": "",  "license": "ISC",  "devDependencies": {    "css-loader": "^0.26.1",    "extract-text-webpack-plugin": "^1.0.1",    "jquery": "^3.1.1",    "node-sass": "^4.0.0",    "sass-loader": "^4.1.0",    "style-loader": "^0.13.1",    "uglify-js": "^2.7.5",    "webpack": "^1.14.0",    "webpack-dev-server": "^1.16.2"  }}

 

转载于:https://www.cnblogs.com/Model-Zachary/p/6195692.html

你可能感兴趣的文章
react踩坑 - 1, componentDidMount使用
查看>>
busybox microcom
查看>>
hdu6376 度度熊剪纸条 思维
查看>>
二维数组转换成一维数组
查看>>
API 3个 js对象
查看>>
NUC1178 Kickdown
查看>>
理解和运用javascript中的call及apply
查看>>
VUE-CLI 设置页面title
查看>>
微信备份方法
查看>>
微软商业服务器部署系列3-windows serevr 2008介绍
查看>>
UVA 10564 Paths through the Hourglass(背包)
查看>>
[hdu6437]Problem L. Videos
查看>>
python 数据加密以及生成token和token验证
查看>>
优达学城数据分析师纳米学位——P4项目知识点整理及代码分析
查看>>
压缩 KVM 的 qcow2 镜像文件
查看>>
python 读写文件中 w与wt ; r与rt 的区别
查看>>
深究“通过样式表实现固定表头和列”
查看>>
《Office 365开发入门指南》上市说明和读者服务
查看>>
Docker生态会重蹈Hadoop的覆辙吗?
查看>>
WPF换肤之八:创建3D浏览效果
查看>>