内容简介:webpack.config.js修改后的内容更多文档参考babel-loaderapp.js修改后内容
执行命令
npm install --save-dev babel-loader @babel/core @babel/preset-env 复制代码
修改webpack.config.js
webpack.config.js修改后的内容
const path = require('path'); var htmlWebpackPlugin = require('html-webpack-plugin'); const extractTextPlugin = require("extract-text-webpack-plugin"); const extractCSS = new extractTextPlugin("css/[name]-[hash].css"); module.exports = { mode:'development', entry: './src/js/app.js', output: { path: path.resolve(__dirname, 'dist'), filename:'js/[name]-[hash].js' }, module: { rules: [ { test:/\.css$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, ] }) }, { test:/\.js$/, //添加正则,处理js文件 use: [ //把ES6语法转换为ES5 {loader:'babel-loader',options:{"presets": ["@babel/preset-env"]}} ] } ] }, plugins:[ new htmlWebpackPlugin({ filename:'index.html', template:'./src/template/index.html', title:'this is webpack title' }), extractCSS ] }; 复制代码
更多文档参考babel-loader
修改src/js/app.js
app.js修改后内容
require('../css/style.css'); function hello(str){ console.log(str); } hello('hello world!'); { let es6 = 'welcome es6'; console.log(es6); } 复制代码
浏览器访问dist/index.html
css支持less
安装插件 less-loader
执行命令 npm install --save-dev less less-loader
添加src/css/style.less文件
*{ padding:0; margin:0; } body{ background-color: #f5f5f5; } #app{ width: 200px; height: 200px; div { width: 100px; height:100px; color:green; border:1px pink solid; } } 复制代码
修改src/template/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><%= htmlWebpackPlugin.options.title %></title> </head> <body> <div id="app"> <div>less 解析</div> </div> </body> </html> 复制代码
修改src/js/app.js
删除 style.css文件 引入style.less文件
require('../css/style.less'); function hello(str){ console.log(str); } hello('hello world!'); { let es6 = 'welcome es6'; console.log(es6); } 复制代码
修改webpack.config.js
const path = require('path'); var htmlWebpackPlugin = require('html-webpack-plugin'); const extractTextPlugin = require("extract-text-webpack-plugin"); const extractCSS = new extractTextPlugin("css/[name]-[hash].css"); module.exports = { mode:'development', entry: './src/js/app.js', output: { path: path.resolve(__dirname, 'dist'), filename:'js/[name]-[hash].js' }, module: { rules: [ { test:/\.css$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, ] }) }, { test:/\.less$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, {loader:'less-loader'} ] }) }, { test:/\.js$/, //添加正则,处理js文件 use: [ //把ES6语法转换为ES5 {loader:'babel-loader',options:{"presets": ["@babel/preset-env"]}} ] } ] }, plugins:[ new htmlWebpackPlugin({ filename:'index.html', template:'./src/template/index.html', title:'this is webpack title' }), extractCSS ] }; 复制代码
说明
{ test:/\.less$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, {loader:'less-loader'} ] }) }, 复制代码
loader是由下往上解析,先处理less-loader,然后再css-loader
更多文档less-loader
src目录结构
src ├── css │ └── style.less ├── images │ └── avatar.png ├── js │ └── app.js └── template └── index.html 复制代码
执行打包 npm run webpack
浏览器访问dist/index.html
css浏览器兼容
css3 目前有些语法需要添加浏览器前缀。
修改src/css/style.less文件
*{ padding:0; margin:0; } body{ background-color: #f5f5f5; } #app{ width: 200px; height: 200px; div { width: 100px; height:100px; color:green; border:1px pink solid; transform: translate(100px,0); } } 复制代码
安装插件 postcss-loader
执行命令
npm install --save-dev postcss-loader autoprefixer 复制代码
修改 webpack.config.js
const path = require('path'); var htmlWebpackPlugin = require('html-webpack-plugin'); const extractTextPlugin = require("extract-text-webpack-plugin"); const extractCSS = new extractTextPlugin("css/[name]-[hash].css"); module.exports = { mode:'development', entry: './src/js/app.js', output: { path: path.resolve(__dirname, 'dist'), filename:'js/[name]-[hash].js' }, module: { rules: [ { test:/\.css$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, { //浏览器添加前缀 loader: 'postcss-loader', options: { ident: 'postcss', plugins: [ require('autoprefixer')({ broswers:['last 5 versions'] }) ] } } ] }) }, { test:/\.less$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, { //浏览器添加前缀 loader: 'postcss-loader', options: { ident: 'postcss', plugins: [ require('autoprefixer')({ broswers:['last 5 versions'] }) ] } }, {loader:'less-loader'} ] }) }, { test:/\.js$/, //添加正则,处理js文件 use: [ //把ES6语法转换为ES5 {loader:'babel-loader',options:{"presets": ["@babel/preset-env"]}} ] } ] }, plugins:[ new htmlWebpackPlugin({ filename:'index.html', template:'./src/template/index.html', title:'this is webpack title' }), extractCSS ] }; 复制代码
说明:
1.less解析需要注意顺序。 第一步less-loader,第二步 postcss-loader,第三步css-loader
2.autoprefixer 是 postcss-loader的其中一个插件
更多文档postcss-loader
执行打包 npm run webpack
浏览器访问dist/index.html
总结
ES6支持
npm install --save-dev babel-loader @babel/core @babel/preset-env 复制代码
{ test:/\.js$/, //添加正则,处理js文件 use: [ //把ES6语法转换为ES5 {loader:'babel-loader',options:{"presets": ["@babel/preset-env"]}} ] } 复制代码
less支持
npm install --save-dev less less-loader 复制代码
{ test:/\.less$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, {loader:'less-loader'} ] }) }, 复制代码
浏览器兼容
npm install --save-dev postcss-loader autoprefixer 复制代码
{ test:/\.less$/, use: extractCSS.extract({ fallback: "style-loader", // 编译后用什么loader来提取css文件 use: [ {loader:'css-loader'}, { //浏览器添加前缀 loader: 'postcss-loader', options: { ident: 'postcss', plugins: [ require('autoprefixer')({ broswers:['last 5 versions'] }) ] } }, {loader:'less-loader'} ] }) }, 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Druid 1.2.3 发布,增强对 Oceanbase Oracle 兼容模式的支持
- 操作系统兼容层 Wine 3.5 开发版发布,支持 RSA 等密钥
- OpenRASP v0.31 支持 resin 服务器并解决 JDK 兼容性
- 完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven
- 和平之翼SHCEU 4.0.0 RC5 千年隼候选版,显著增强兼容性,全面支持前后端分离界面
- PHP升级代码兼容
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
删除
[英] 维克托•迈尔-舍恩伯格(Viktor Mayer-Schönberger)著 / 袁杰 译 / 浙江人民出版社 / 2013-1 / 49.90元
《删除》讲述了遗忘的美德,为读者展现了大数据时代的取舍之道。 《删除》从大数据时代信息取舍的目的和方法分别诠释了“被遗忘的权利”。维克托首先回溯了人类追寻记忆的过程,之后提出数字技术与全球网络正在瓦解我们天生的遗忘能力。对此,他考察了促进遗忘终止4大驱动力——数字化,廉价的存储器,易于提取,全球性访问。之后,他提出了当前数字化记忆的两大威胁——信息权力与时间,并给出了应对威胁的6大对策——数......一起来看看 《删除》 这本书的介绍吧!