同步loader
异步loader
使用这两个loader
{
test: /\.js$/,//处理js文件
use: ["./loaders/demo/test1","./loaders/demo/test2"],
},
const path = require("path");
//处理html
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
entry: "./src/main.js",//根据找到依赖
output: {
path: path.resolve(__dirname, "./dist"),
filename: "js/[name].js",// filename: 输出文件名
clean: true,
},
module: {//编译记载配置
rules: [
// {
// test: /\.js$/,//处理js文件
// loader: "./loaders/test-loader.js",//将要处理文件作为参数传到test-loader.js
// },
{
test: /\.js$/,//处理js文件
use: ["./loaders/demo/test1","./loaders/demo/test2"],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, "public/index.html"),
}),
],
mode: "development",
};
运行npx webpack
先执行2(1s之后反应)在执行1
同步loader中不能进行异步操作:
规则中先执行1 在执行2
同步中+异步loader
纯异步
运行报错
先执行1,但是没有返回值(所以变成undefined)test2处理就变成content=undefined