使用browserify的Ecmascript6

时间:2017-03-27 12:52:26

标签: babeljs browserify package.json

我对使用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怎么样?

感谢您的回答

1 个答案:

答案 0 :(得分:0)

如果您想制作可重复使用的模块,第一个解决方案是相关的。好像有人将您的项目作为依赖项,babelify将在运行时自动应用。

在第二个解决方案中,只有在构建项目时才会应用babelify。