- 代码地址:https://gitee.com/q_yup/webpack-demo
- 建立项目的webpack配置文件
- 项目的根目录新建webpack默认的配置文件webpack.config.js,也可以使用其它文件名。但需要使用—config指定配置文件
假设在项目的根目录新建webpack.config.js文件,并配置了一些基础属性(如下),终端执行webpack,就会从当前路径下寻找webpack.config.js文件,并按照文件配置执行得到结果。如果没有找到(执行webpack)webpack.config.js就会打印webpack所有的API属性。(如果新建的webpack配置文件不是默认的,在终端执行webpack —config webpack.dev.config.js。在终端使用webpack指令需要全局安装npm i webpack -g)
module.exports = {entry: "./src/script/main.js",//打包入口output: {path: "./dist/js",//打包之后文件的存放路径filename: "bundle.js"//打包之后的文件名}}
可以在package.js中配置webpack的执行指令,直接npm run webpack
"scripts": {"webpack":"webpack --config webpack.config.js --progress --display-modules --colors --display-reason"},
- webpack配置entry和output new
entry打包入口,三种方式:
- 只有一个入口文件,使用string
- 多个入口文件,并且在目录中属于平行关系,使用数组。可以打包在一起
- 对象,分key-value,key就是这一项的 Chunk Name,value就是一个真实的entry,value可以是字符串或者是数组。使用场景:多页面
output属性配置:
- filename打包之后每个文件的名字,webpack提供了chunk name [name]、本次打包的 [hash]、每次打包生成的文件的hash值,文件变动时打包之后hash值变动,文件没有变动时,hash不会做变动,因此可以理解为本次打包文件的版本号[chunkhash]
module.exports = {entry: "./src/script/main.js",//打包入口output: {path: "./dist/js",//打包之后文件的存放路径filename: "bundle.js"//打包之后的文件名}}
module.exports = {entry: ["./src/script/main.js","./src/script/a.js"],//打包入口output: {path: "./dist/js",//打包之后文件的存放路径filename: "bundle.js"//打包之后的文件名}}
module.exports = {entry: {main: "./src/script/main.js",a: "./src/script/a.js"},//打包入口output: {path: "./dist/js",//打包之后文件的存放路径filename: "[name]-[chunkhash].js"//打包之后的文件名}}
