node内置模块 - path: https://nodejs.org/dist/latest-v12.x/docs/api/path.html
出口(针对生出的资源hash)
这里的出口是针对资源列表的文件名或路径的配置
出口通过output进行配置
**
output: {
path: path.resolve(__dirname, "target"), //必须配置一个绝对路径,表示资源放置的文件夹,默认是dist
filename: "bundle.js" //配置的合并的js文件的规则
},
动态规则:
output: {
path: path.resolve(__dirname, "target"), //必须配置一个绝对路径,表示资源放置的文件夹,默认是dist
filename: "[id].[chunkhash:5].js" //配置的合并的js文件的规则,此处使用了hash,解决了老缓存的问题
},
入口
入口真正配置的是chunk
入口通过entry进行配置
规则:
- name:chunkname
- hash: 总的资源hash,通常用于解决缓存问题,代码改变全都改变。
- chunkhash: 使用chunkhash
- id: 使用chunkid,不推荐
例子1:
entry: {
main: "./src/index.js", //属性名:chunk的名称, 属性值:入口模块(启动模块)
a: ["./src/a.js", "./src/index.js"] //启动模块有两个
},
./ 的含义:
- 模块化代码中,比如require(“./“),表示当前js文件所在的目录
2. 在路径处理中,”./“表示node运行目录__dirname的含义:
所有情况下,都表示当前运行的js文件所在的目录,它是一个绝对路径path的含义:
该对象提供了大量路径处理的函数 ```javascript //该对象提供了大量路径处理的函数
var path = require(“path”) //导出了一个对象
// var result = path.resolve(“./“, “child”, “abc”, “123”); //1-9. 入口和出口\child\abc\123
var result = path.resolve(__dirname, “src”); //1-9. 入口和出口\node\src console.log(result); ```