奇怪的编译JS文件从TypeScript和web包



我正在将我的插件从 gulp 迁移到 webpack 2,并且我对完成的 js 文件有问题。

文件被缩小和压缩。

我的网络包配置文件:

// webpack.config.js
const webpack = require('webpack');
const config = {
  entry: './src/ts/amt-rating.ts',
  resolve: {
    extensions: ['.ts', '.js']
  },
  module: {
    rules: [
      { 
        test: /.tsx?$/, 
        exclude: /node_modules/,
        loader: 'ts-loader?tsconfig=tsconfig.json'
      }
    ]
  },
  plugins:[
    new webpack.DefinePlugin({
        'process.env': {
            'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
        }
    })
  ]
}
//if production
if (process.env.NODE_ENV === 'production') {
    config.output = {
        filename: 'dist/js/amt-rating.min.js'
    }
    //uglify js options
    config.plugins.push(
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                screw_ie8: true,
                minimize: true
            }
        })
    )

}
else{
    config.output = {
        filename: 'dist/js/amt-rating.js'
    }
    config.devtool = "#cheap-module-source-map"
}
module.exports = config;

这是我的 tsconfig 文件:

{
    "compilerOptions": {
        "target": "es5",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true
    },
    "include": [
        "src/ts/*.ts"
    ],
    "exclude": [
        "node_modules"
    ]
}

我不想将我的打字稿编译成一个非常简单的javascript文件,没有任何依赖关系。

这样可以缩小和压缩:

//uglify js options
config.plugins.push(
    new webpack.optimize.UglifyJsPlugin({
        compress: {
            screw_ie8: true,
            minimize: true
        }
    })
)

如果设置为 production,则设置为运行NODE_ENV。确保已将其设置为 development 以获取未缩小的版本。

最新更新