【问题标题】:Strange compiled JS file from TypeScript & web pack从 TypeScript 和 webpack 编译的奇怪的 JS 文件
【发布时间】:2017-02-08 07:43:08
【问题描述】:

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

文件被缩小和压缩。

我的 webpack 配置文件:

// 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 文件。

【问题讨论】:

    标签: javascript typescript webpack


    【解决方案1】:

    这可以实现缩小和压缩:

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

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

    【讨论】:

    • 我已经尝试删除这个选项或者在dev环境中设置为false,js文件没有改变
    • 所以它会输出一个名为 dist/js/amt-rating.js 的文件,即使您完全删除“生产 if”,它也会被缩小?
    • 是的,已缩小且 var 名称已更改。我是 webpack 的新手,我知道,webpack 是从像 Facebook 这样的大公司推送的,而不是似乎越来越被弃用的 gulp,所以这就是我想升级到 webpack 的原因
    猜你喜欢
    • 1970-01-01
    • 2016-11-23
    • 2013-06-20
    • 1970-01-01
    • 2017-06-10
    • 2020-11-27
    • 2017-03-12
    • 2012-10-07
    • 1970-01-01
    相关资源
    最近更新 更多