首先webpack是一个模块打包机,本质上,webpack 是一个现代 JavaScript 应用程序的_静态模块打包器(module bundler)_。当 webpack 处理应用程序时,它会递归地构建一个_依赖关系图(dependency graph)_,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 _bundle_。
webpack的配置文件webpack.config.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| const path = require('path');
module.exports = { entry: './app/main.js', output:{ path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', publicPath: 'public' }, module: { rules: [ test: /\.jsx?$/, exclude: [ path.resolve(__dirname, 'node_modules') ], loader: 'babel-loader', options: { preset: [es2015] } ] } };
|
项目目录如下
webpack-dev-server的使用,配置package.json,
1 2 3 4 5
| "scripts": { "test": "node test.js", "server": "webpack-dev-server --content-base ./ --port 8000" },
|
使用npm run server启动webpack-dev-server。
index.js文件内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue学习</title> </head> <body>
<script src="public/bundle.js"></script> </body> </html>
|