以前写了怎么转换es6的语法,若是在项目中用了es7的语法和样式,图片,字体该如何配置,下面就写一下配置。css
把以前demo3文件夹一份命名为demo4。 修改demo4/src/index.js文件html
let obj = {name: 'lanpangzhi'};
let obj2 = {blog: 'http://blog.langpz.com'};
let newObj = {...obj, ...obj2}; // es7语法
console.log(newObj);
复制代码
安装babel插件,在项目根目录执行命令node
npm install babel-preset-stage-0 -D // ES7不一样阶段语法提案的转码规则(共有4个阶段)
复制代码
stage-0 包含 stage-1 stage-2 stage-3 阶段 还包含 babel-plugin-transform-do-expressionsbabel-plugin-transform-function-bind 两个插件的功能,阶段标准webpack
修改demo4/.babelrc文件git
{
"presets": ["env","stage-0"]
}
复制代码
在demo4路径下执行 webpack,就看到打包成功了打开demo4/index.js文件控制台就输出。 {name: "lanpangzhi", blog: "blog.langpz.com"} es6
为了从 JavaScript 模块中 import 一个 CSS 文件,你须要配置以下loader。 安装babel插件,在项目根目录执行命令。github
npm install --save-dev style-loader css-loader
复制代码
修改demo4/webpack.config.js文件 在rules数组里添加一个规则。web
{
test: /\.css$/, // 匹配全部.css结尾的文件
use: [ // use要从右往左写,先转成样式,再打包到style标签
'style-loader',
'css-loader'
]
}
复制代码
建立css文件express
cd src && touch index.css
复制代码
修改demo4/src/index.css文件npm
body {
background: red;
}
复制代码
引入css文件 修改demo4/src/index.js文件
// 最上面添加一行
import './index.css';
复制代码
在demo4路径下执行 webpack,就看到打包成功。打开demo4/index.html就有红色的背景色了。
为了从 JavaScript 模块中 import 一个 scss 文件,你须要配置以下loader。 安装babel插件,在项目根目录执行命令。
npm install sass-loader node-sass webpack --save-dev
复制代码
修改demo4/webpack.config.js文件,在rules数组里添加一个规则。
{
test: /\.scss$/, // 匹配全部.scss结尾的文件
use: [
'style-loader', // 将 JS 字符串生成为 style 节点
'css-loader', // 将 CSS 转化成 CommonJS 模块
'sass-loader' // 将 Sass 编译成 CSS
]
}
复制代码
建立scss文件
cd src && touch index.scss
复制代码
修改demo4/src/index.scss文件
$body-color: yellow;
body {
background: $body-color;
}
复制代码
修改demo4/src/index.js文件
// 最上面一行替换以下代码
import './index.scss';
复制代码
在demo4路径下执行 webpack,就看到sass编译成功。打开demo4/index.html就有绿色的背景色了。 !()[hexo-1252491761.file.myqcloud.com/webpack4.0入…] 若是你想解析其余预处理css语言安装对应loader,添加规则就能够编译了。 如less less-loader。
假想,如今咱们正在下载 CSS,可是咱们的背景和图标这些图片,要如何处理呢?使用 file-loader,咱们能够轻松地将这些内容混合到 CSS 中。 安装babel插件,在项目根目录执行命令。
npm install --save-dev file-loader
复制代码
随意再网上下载一个png图片放到demo4/src/目录下,命名为1.png
修改demo4/src/index.scss文件
body {
background: url(./1.png);
}
复制代码
修改demo4/webpack.config.js文件,在rules数组里添加一个规则。
{
test: /\.(png|svg|jpg|gif)$/, // 匹配全部.png和.svg和.jpg和.gif结尾的文件
use: [
{
loader: 'file-loader',
options: {
publicPath: 'dist/' // 设置public 发布目录。
}
}
]
}
复制代码
在demo4路径下执行 webpack,就看到图片编译成功。打开demo4/index.html就有背景图。
像字体这样的其余资源如何处理呢?file-loader 和 url-loader 能够接收并加载任何文件,而后将其输出到构建目录。这就是说,咱们能够将它们用于任何类型的文件,包括字体。让咱们更新 webpack.config.js 来处理字体文件。 修改demo4/webpack.config.js文件,在rules数组里添加一个规则。
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: [
'file-loader'
]
}
复制代码
若是样式文件里面引入了字体就会被打包,这里就不演示了。