内容简介: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升级代码兼容
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
共鸣:内容运营方法论
舒扬 / 机械工业出版社 / 2017-5-8 / 59.00
近5年来网络信息量增长了近10倍,信息极度过剩。移动互联网以碎片化、强黏度以及惊人的覆盖率给传统的商业环境带来了巨大的影响,向陈旧的广告、公关、媒体行业展开了深度的冲击。 传统的以渠道为中心的传播思想几近失效,优秀内容成为了各行业最稀缺的资产,这是时代赋予内容生产者的巨大机会。本书作者在多年经验和大量案例研究的基础上,总结出了移动互联网时代的内容运营方法论——共鸣,它将告诉我们如何收获核心粉......一起来看看 《共鸣:内容运营方法论》 这本书的介绍吧!