首页新闻找找看学习计划

webpack 打包的问题.

0
悬赏园豆:10 [待解决问题]

webpack 可以识别 node.js 和 es5 的语法,但是我要打包1个index.js,在index.js中使用了 es6的语法,在没有安装babel的情况下依旧打包成功了,这是为什么?
请各位大佬帮我解答一下。

index.js的内容:

//es6 语法
import Vue from 'vue'
import App from './app.vue'

const root = document.createElement("div");
document.body.appendChild(root);
new Vue({
render : (h) => h(App)
}).$mount(root)


webpack.config.js 的内容:

//webpack只支持es5的语法,使用commonjs的语法.
//node.js默认的库
const path = require('path')
const VueLoaderPlugin = require('vue-loader/lib/plugin')
//这个是node.js的写法 module.exports = {...}
module.exports = {
mode : 'development',
//入口
entry : path.join(__dirname,'src/index.js'),
//出口
output : {
filename : 'bundle.js',
path : path.join(__dirname,"dist")
},
module : {
rules : [
{
test : /.vue$/,
loader : 'vue-loader'
},
{
test : /.css$/,
loader : [
'style-loader',
'css-loader'
],
}
]
},
plugins : [
new VueLoaderPlugin(),
]
}


package.json 的内容:

{
"name": "vue-ssr-tech2",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"build": "webpack --config webpack.config.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"vue": "^2.5.21"
},
"devDependencies": {
"css-loader": "^2.1.0",
"style-loader": "^0.23.1",
"vue-loader": "^15.5.0",
"vue-template-compiler": "^2.5.21",
"webpack": "^4.28.3",
"webpack-cli": "^3.2.0"
}
}

Jinke2017的主页 Jinke2017 | 菜鸟二级 | 园豆:237
提问于:2019-01-07 14:54
< >
分享
所有回答(1)
0

本来就可以打包成功,你这里没有使用 uglify 压缩, uglify确实不支持 es6,才会报错

muamaker | 园豆:611 (小虾三级) | 2019-01-07 15:56

那为什么可以打包成功呢? webpack不是不支持es6语法吗?

支持(0) 反对(0) Jinke2017 | 园豆:237 (菜鸟二级) | 2019-01-07 17:29

根据我在网上查到资料,webpack是支持commonJS和es5语法,但是不支持es6,如果要支持es6,需要 引入babel,但是我在没有引入babel的情况下,依旧可以打包 一个含有es6语法的index.js文件,为什么可以打包成功呢?

支持(0) 反对(0) Jinke2017 | 园豆:237 (菜鸟二级) | 2019-01-07 17:43

@Jinke2017: 资料说不支持 es6,但是你打包成功了,所有资料有误

支持(0) 反对(0) muamaker | 园豆:611 (小虾三级) | 2019-01-08 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册