webpack之处理js资源
Have a good day
萌兔猛进
原因是 Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法。
针对 js 兼容性处理,我们使用 Babel 来完成
针对代码格式,我们使用 Eslint 来完成
Eslint
可组装的JavaScript和JSX检查工具
1. 配置文件
配置文件由很多种写法:
.eslintrc.*
npm install eslint-webpack-plugin eslint --save-dev1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
:新建文件,位于项目根目录
- `.eslintrc`
- `.eslintrc.js`
- `.eslintrc.json`
- 区别在于配置格式不一样
- `package.json` 中 `eslintConfig`:不需要创建文件,在原有文件基础上写
配置文件只需要写一个
**下载安装eslint的插件**1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
**在webpack中引入插件**
```javascript
const ESLintPlugin = require('eslint-webpack-plugin');
module.exports = {
// 插件中调用eslint
plugins:[
// plugin的配置
new ESLintPlugin({
// 检查哪些文件
context:path.resolve(__dirname,"src"),
}),
],
}
在根目录下创建.eslintrc.js文件
1 | module.exports = { |
Babel—javaScript编译器
主要用于将 ES6 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中
1. 配置文件
配置文件由很多种写法:
babel.config.*
:新建文件,位于项目根目录 - `.babelrc` - `.babelrc.js` - `.babelrc.json`1
2
3
4
5
6
7
8
9
:新建文件,位于项目根目录
- `babel.config.js`
- `babel.config.json`
- ```javascript
.babelrc.*package.json
中babel
:不需要创建文件,在原有文件基础上写
2. 具体配置
我们以 babel.config.js
配置文件为例:
1 | module.exports = { |
- presets 预设
简单理解:就是一组 Babel 插件, 扩展 Babel 功能
@babel/preset-env
: 一个智能预设,允许您使用最新的 JavaScript。@babel/preset-react
:一个用来编译 React jsx 语法的预设@babel/preset-typescript
:一个用来编译 TypeScript 语法的预设
3. 在 Webpack 中使用
- 下载包
1 | npm i babel-loader @babel/core @babel/preset-env -D |
2.定义 Babel 配置文件
- babel.config.js
1 | module.exports = { |
3.配置
- webpack.config.js
1 | const path = require("path") |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 fortunate!
评论