来自TypeScript& amp;的奇怪编译JS文件网络包

时间:2017-02-08 07:43:08

标签: javascript typescript webpack

我正在将我的插件从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文件而没有任何依赖。

1 个答案:

答案 0 :(得分:0)

这可以实现缩小和压缩:

//uglify js options
config.plugins.push(
    new webpack.optimize.UglifyJsPlugin({
        compress: {
            screw_ie8: true,
            minimize: true
        }
    })
)
如果NODE_ENV设置为production,则设置为

。确保已将其设置为development以获得未缩小的版本。

相关问题