做证券考试的网站,网站建设规划设计方案,jetpack wordpress 国内,网站制作和推广lv官网webpack 提供的 CLI 支持很多参数#xff0c;例如 --mode#xff0c;但更多的时候#xff0c;我们会使用更加灵活的配置文件来控制 webpack 的行为。默认情况下#xff0c;webpack 会读取 webpack.config.js 文件作为配置文件#xff0c;但也可以通过 CLI 参数 --config 来…webpack 提供的 CLI 支持很多参数例如 --mode但更多的时候我们会使用更加灵活的配置文件来控制 webpack 的行为。默认情况下webpack 会读取 webpack.config.js 文件作为配置文件但也可以通过 CLI 参数 --config 来指定某个配置文件。
配置文件中通过 CommonJS 模块导出一个对象对象中的各种属性对应不同的 webpack 配置。配置文件中的代码必须是有效的 Node.js 代码。当命令行参数与配置文件中的配置出现冲突时以命令行参数为准。
基本配置
以下是一些常见的 webpack 配置项
mode编译模式字符串取值为 development 或 production指定编译结果代码运行的环境会影响 webpack 对编译结果代码格式的处理。entry入口字符串或数组指定入口文件。output出口对象指定编译结果文件。
示例配置文件
const path require(path);module.exports {// 编译模式mode: development, // 或 production// 入口文件entry: ./src/index.js, // 单个入口// entry: {// main: ./src/index.js, // 多个入口// another: ./src/another.js// },// 出口文件output: {filename: bundle.js, // 输出文件名path: path.resolve(__dirname, dist) // 输出路径},// 模块规则module: {rules: [{test: /\.js$/, // 匹配 .js 文件exclude: /node_modules/, // 排除 node_modules 目录use: {loader: babel-loader // 使用 Babel 转换 ES6 代码}},{test: /\.css$/, // 匹配 .css 文件use: [style-loader, css-loader] // 使用 style-loader 和 css-loader}]},// 插件plugins: [new HtmlWebpackPlugin({template: ./src/index.html // 使用模板生成 HTML 文件})],// 开发服务器devServer: {contentBase: ./dist, // 静态文件根目录hot: true // 热模块替换}
};详细解释 mode编译模式 development开发模式不会对代码进行压缩适合开发环境。production生产模式会对代码进行压缩和优化适合生产环境。 entry入口文件 单个入口entry: ./src/index.js多个入口entry: { main: ./src/index.js, another: ./src/another.js } output出口文件 filename输出文件名。path输出路径使用 path.resolve 确保路径是绝对路径。 module模块规则 rules定义一组规则用于处理不同类型的文件。 test匹配文件的正则表达式。exclude排除某些文件或目录。use使用的加载器loader。 plugins插件 插件用于执行更复杂的任务如生成 HTML 文件、压缩代码等。例如HtmlWebpackPlugin 用于生成 HTML 文件。 devServer开发服务器 contentBase静态文件根目录。hot启用热模块替换HMR在开发过程中自动刷新页面。
使用配置文件 创建配置文件 在项目根目录下创建 webpack.config.js 文件内容如上所示。 安装必要的依赖 npm install --save-dev webpack webpack-cli babel-loader babel/core babel/preset-env html-webpack-plugin运行构建 在 package.json 中添加一个 build 脚本 {scripts: {build: webpack}
}然后运行 npm run build启动开发服务器 如果你配置了 devServer可以通过以下命令启动开发服务器 npx webpack serve总结
通过本课程你已经基本掌握了如何使用 webpack 配置文件来控制构建过程。配置文件提供了更灵活的方式来管理复杂的构建任务使得开发更加高效和便捷。