我对使用browserify编译JS(Ecmascript 6)有一点疑问。 我像这样制作我的package.json:
{
"name": "myApp",
"main": "app.js",
"scripts": {
"build-map": "browserify -e app.js -o ./public/js/bundle.js",
"start": "node app.js"
},
"devDependencies": {
"babel-core": "^6.3.0",
"babel-loader": "^6.0.0",
"babel-plugin-transform-runtime": "^6.8.0",
"babel-preset-es2015": "^6.0.0",
"babel-runtime": "^5.8.0",
"babelify": "^7.2.0",
"browserify": "^13.0.0"
},
"browserify": {
"transform": [
[
"babelify",
{
"presets": [
"es2015"
]
}
]
]
}
}
但我见过这个例子:
{
"name": "test-browserify",
"version": "1.0.0",
"scripts": {
"build": "browserify main.js --transform [ babelify --plugins [ transform-es2015-modules-commonjs ] ] | uglifyjs -c -m > bundle.js"
},
"devDependencies": {
"babel-plugin-transform-es2015-modules-commonjs": "^6.22.0",
"babelify": "^7.3.0",
"browserify": "^14.0.0",
"uglify-js": "^2.7.5"
}
}
这是相同的还是存在差异?我从NodeJS开始,它有点混乱:)。
如果我想更喜欢webpack浏览器化,那么package.json怎么样?
感谢您的回答
答案 0 :(得分:0)
如果您想制作可重复使用的模块,第一个解决方案是相关的。好像有人将您的项目作为依赖项,babelify将在运行时自动应用。
在第二个解决方案中,只有在构建项目时才会应用babelify。