悠悠楠杉
网站页面
                
             
                                            
                target: 指定编译的目标平台,如web(默认)、node等。例如,设置target: 'node'可以让Vue项目在Node环境中运行。devServer: 用于配置开发服务器的选项,如端口号(port: 8080)、代理设置(proxy: { '/api': 'http://localhost:5000' })等。publicPath: 指定在生产环境下生成的资源文件的公共路径。在部署到非根路径时非常有用,如设置为'/my-app/'。assetsDir: 指定静态资源(如图片、字体等)的目录名,默认是/assets/。filenameHashing: 是否对资源文件名进行哈希处理,以实现缓存优化。设置为true可启用哈希处理。configureWebpack 和 chainWebpack: 这两种方式用于直接修改Webpack的配置。其中,configureWebpack接收一个对象或函数,允许进行全局的配置修改;而chainWebpack则通过链式操作提供了更灵活的Webpack配置方式,适合进行更细致的调整。chainWebpack来设置别名(alias)和添加loader。javascript
chainWebpack: config => {
config.resolve.alias
  .set('@assets', resolve('src/assets'))
  .set('@components', resolve('src/components'));
config.module.rule('vue').use(VueLoaderPlugin).loader('vue-style-loader').end();
}plugins选项添加自定义插件或修改默认插件的配置。例如,使用HtmlWebpackPlugin来自定义生成的HTML文件。javascript
plugins: [
new HtmlWebpackPlugin({
  filename: 'index.html', // 输出文件名
  template: 'src/index-template.html' // HTML模板文件路径
})
]javascript
configureWebpack: {
optimization: {
  splitChunks: { chunks: 'all' }, // 自动分割代码块以提高缓存利用率和加载速度
  minimizer: [new TerserPlugin({ // 使用TerserPlugin压缩JavaScript代码
    terserOptions: { compress: { drop_console: true } } // 移除console等调试代码
  })]
}
} 
                                 
                                 
                                 
                                