webpack多页面配置
webpack多页面配置
相比于单页面配置,有几个注意的点
1 入口
entry: {
'index': "./src/js/index.js",
'detail':"./src/js/detail.js"
},
2 出口 filename 改成[name]
//出口
output: {
//不配置默认输出到dist目录
path: path.resolve(__dirname, './dev'),
//这里的哈希值会通过htmlwebpackplugin插件引入到html上
// filename: "index-[hash].js"
filename:"[name]-[hash].js"
},
3 插件 用两个htmlWebpackPlugin,改name和chunk,miniCssExtractPlugin 改成[name]
new htmlWebpackPlugin({
//这里设置的值可在index页面调用<%= %>
title: "htmlWP set detailtitle",
//配置入口js文件对应的html模板
template: "./src/views/detail.html",
// 模板名
filename: 'detail.html',
// 指定页面加载时要加载的js,防止加载此页面的时候加载其他js
chunks: ['detail']
}),
new miniCssExtractPlugin(
{
//此处绑定的是css不是js
filename: '[name]-[hash].css'
}
)
配置文件
/*
多页面
*/
const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');
//这个不需要引入
// const devServer = require('webpack-dev-server');
const miniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
//开发模式
mode: "development",
//入口
entry: {
'index': "./src/js/index.js",
'detail':"./src/js/detail.js"
},
//出口
output: {
//不配置默认输出到dist目录
path: path.resolve(__dirname, './dev'),
//这里的哈希值会通过htmlwebpackplugin插件引入到html上
// filename: "index-[hash].js"
filename:"[name]-[hash].js"
},
//配置热更新服务webpack-dev-server
devServer: {
//监听端口
port: 9099,
//开启服务是否打开页面
open: true
},
//插件
plugins: [
new htmlWebpackPlugin({
//这里设置的值可在index页面调用<%= %>
title: "htmlwebpackplugin set title",
//配置入口js文件对应的html模板
template: "./src/views/index.html",
// 模板名
filename: 'index.html',
// 指定页面加载时要加载的js,防止加载此页面的时候加载其他js
chunks: ['index']
}),
new htmlWebpackPlugin({
//这里设置的值可在index页面调用<%= %>
title: "htmlWP set detailtitle",
//配置入口js文件对应的html模板
template: "./src/views/detail.html",
// 模板名
filename: 'detail.html',
// 指定页面加载时要加载的js,防止加载此页面的时候加载其他js
chunks: ['detail']
}),
new miniCssExtractPlugin(
{
//此处绑定的是css不是js
filename: '[name]-[hash].css'
}
)
],
//配置scss解析并绑定给import它的js文件
module: {
rules: [
{
//正则筛选
test: /s[ac]ss$/,
//指定要用的loader
use: [
//指定内部样式
// 'style-loader',
//指定外部样式
miniCssExtractPlugin.loader,
//指定css
'css-loader',
//把sass转成css
'sass-loader'
]
}
]
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端