一个超级简单的例子
- 新建一个
webpack
配置文件
文件: webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js'
},
mode: 'production'
};
- 创建
src
目录 - 创建一个简单的功能
写入文件helloworld.js
export function helloworld() {
return 'Hello webpack';
}
- 创建
index.js
import { helloworld } from './helloworld';
document.write(helloworld());
- 执行打包
➜ webpack-project ./node_modules/webpack/bin/webpack.js
asset bundle.js 55 bytes [emitted] [minimized] (name: main)
orphan modules 60 bytes [orphan] 1 module
./src/index.js + 1 modules 133 bytes [built] [code generated]
webpack 5.48.0 compiled successfully in 203 ms
此时发现在项目目录中会有一个
dist
目录,在dist
目录中有文件bundle.js
- 在
dist
目录中新建一个index.html
并使用bundle.js
、
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>webpack</title>
</head>
<body>
<script src="bundle.js" type="text/javascript"></script>
</body>
</html>
- 运行结果
使用npm script 运行 webpack
- 在
package.json
的script
中写命令
{
"name": "webpack-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^5.48.0",
"webpack-cli": "^4.7.2"
}
}
原理:模块局部安装会在
node_modules/.bin
目录创建软连接
然后在scripts中写入需要执行的命令,就会去node_modules/.bin
寻找
- 重新执行打包
- 执行命令:
npm run build
- 执行结果
➜ webpack-project npm run build
> webpack-project@1.0.0 build
> webpack
asset bundle.js 55 bytes [emitted] [minimized] (name: main)
orphan modules 60 bytes [orphan] 1 module
./src/index.js + 1 modules 133 bytes [built] [code generated]
webpack 5.48.0 compiled successfully in 192 ms