webpack 多文件打包,publicPath,SourceMap

  • 多文件打包,publicPath
 entry: {
        main: './index.js',
        sub: './index.js'
 },
 output: {
 		publicPath: 'http://cdn.com.cn',  // 在bundle_[name].js前,添加前缀地址
        filename: 'bundle_[name].js',  // 此处[name]指代的就是entry中的key值(main, sub)
        path: path.resolve(__dirname, 'bundle')
 },
  • SourceMap
    在打包代码和源码之间,建立映射,方便查找错误
// webpack.config.js
// 如何使用source-map
module.exports = {
...
devtool: 'source-map'  // 在开发模式下,默认使用source-map
...
}
  • source-map常用的配置
devtool
source-map
inline-source-map将source-map文件转为base64格式放在打包文件底部
cheap-source-map只显示到行,不会精确到字符,只针对业务代码,不管第三方模块代码,减少性能消耗,build速度快
cheap-module-source-map相比于上面的一直,对于第三方模块代码也有效
eval执行效率高,但是提示不全面

在开发环境下,建议使用cheap-module-eval-source-map
线上环境,一般不用,如果需要,用cheap-module-source-map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular 使用 webpack 来构建和打包项目,webpack 配置文件默认情况下是隐藏的,使用 Angular CLI 提供的 `ng eject` 命令可以将默认的 webpack 配置文件转换为标准的 webpack 配置文件,并将所有依赖项添加到 `package.json` 文件中。下面是一个示例的 Angular webpack 配置文件及注释: ```javascript const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { // 入口文件 entry: { 'polyfills': './src/polyfills.ts', 'app': './src/main.ts' }, // 输出文件 output: { path: path.resolve(__dirname, 'dist'), // 输出文件的名称 filename: '[name].[hash].js', // chunk 文件的名称 chunkFilename: '[id].[hash].chunk.js', // 配置资源文件的路径 publicPath: '/' }, // 模块加载器 module: { rules: [ // 处理 TypeScript 文件 { test: /\.ts$/, loaders: [ { loader: 'awesome-typescript-loader', options: { configFileName: path.resolve(__dirname, 'tsconfig.json') } } , 'angular2-template-loader' ] }, // 处理 HTML 文件 { test: /\.html$/, loader: 'html-loader' }, // 处理样式文件 { test: /\.css$/, exclude: path.resolve(__dirname, 'src', 'app'), loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader?sourceMap' }) }, // 处理项目中的组件样式文件 { test: /\.css$/, include: path.resolve(__dirname, 'src', 'app'), loader: 'raw-loader' } ] }, // 插件 plugins: [ // 生成 HTML 文件 new HtmlWebpackPlugin({ template: 'src/index.html' }), // 配置全局变量 new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }), // 提取公共模块 new webpack.optimize.CommonsChunkPlugin({ name: ['app', 'polyfills'] }), // 提取样式文件 new ExtractTextPlugin('[name].[hash].css') ], // 解析模块请求的选项 resolve: { extensions: ['.ts', '.js'] }, // 配置 devServer devServer: { historyApiFallback: true, stats: 'minimal' }, // 配置 source map devtool: 'source-map' }; ``` 以上是一个基本的 Angular webpack 配置文件的示例,其中包括了入口文件、输出文件、模块加载器、插件、解析模块请求的选项、devServer 配置以及 source map 配置等等。注释中详细说明了每个配置项的作用和配置方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值