鍍金池/ 問答/HTML/ webpack打包的js文件中沒有包含源文件的return語句?

webpack打包的js文件中沒有包含源文件的return語句?

/src/app.js

let a = 123
let test = value => {
    console.log(value * 2)
}
test(a)

我在這里用console.log(),webpack打包后的bundle.js是這樣子的:

([function (e, t, n) {
    "use strict";
    ! function (e) {
        console.log(2 * e)
    }(2)
}]);

我把a(bǔ)pp.js中console.log()改成return,打包后bundle.js最后是空的,沒有把我app.js中的代碼包含進(jìn)去,這是為啥?

下面是我的配置:

const webpack = require('webpack')
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')

const config = {
    entry: './src/app.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /(node_modules)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['env']
                    }
                }
            }
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.html'
        })
    ]
}

module.exports = config

package.json:

{
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "7",
    "babel-preset-env": "^1.7.0",
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.17.1",
    "webpack-cli": "^3.1.0"
  }
}

用了babel-core等應(yīng)該是把ES6的代碼轉(zhuǎn)化成ES3然后打包進(jìn)bundle.js里,為什么我這里沒有得到這樣的結(jié)果?

我想要的bundle.js結(jié)果應(yīng)該是這樣:

var a = 123
function test(value){
    return value * 2
}
test(a)

是我的姿勢不對(duì)嗎還是哪里配置錯(cuò)了? 啟動(dòng)的時(shí)候也沒報(bào)錯(cuò),求解?
圖片描述

回答
編輯回答
安淺陌

好神奇,我運(yùn)行可以的。。。不要在意那個(gè)b改成a也是這個(gè)結(jié)果。。。
圖片描述

2018年3月7日 02:25