节点包管理器在Browserify脚本上失败

时间:2017-04-29 19:45:16

标签: javascript node.js browserify

这个问题有许多活动部分,所以我会发布所有内容。我正在运行npm run build,我得到以下内容:

enter image description here

这是我在package.json文件中的构建脚本:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build":"browserify -d app/scripts/src/main.js -o app/scripts/dist/main.js" 
  },
  "browserify":{
    "transform":[
      "babelify",{"presets":["es2015"],"sourceMap":true}
    ]
  },

app.js:

class ChatApp {
  constructor() {
    console.log("Hello World")
  }
}
 export default ChatApp 

main.js:

import ChatApp from './app'
new ChatApp()

节点版本:6.9.4

Browserify版本:14.3.0

更新:

我更新了它,但结果仍然相同。

  "build":"browserify app/scripts/src/main.js -d -o app/scripts/dist/main.js"

这也不起作用并给出相同的错误:

"build":"browserify app/scripts/src/main.js > app/scripts/dist/main.js -d -o"

同样的结果:

"build":"browserify app/scripts/src/main.js > app/scripts/dist/main.js"

更新:仅运行来自终端的Browserify命令

browserify app/scripts/src/main.js app/scripts/dist/main.js -d -o 
TypeError: Path must be a string.
    at resolve (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:15:19)
    at nr (/usr/local/lib/node_modules/browserify/node_modules/module-deps/index.js:282:24)
    at /usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:17:13
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

1 个答案:

答案 0 :(得分:2)

我能够重现您的错误,并通过更改browserify文件的package.json部分来修复错误(请注意嵌套数组的方式)。

{
  "scripts": {
    "build": "browserify -d app/scripts/src/main.js -o app/scripts/dist/main.js"
  },
  "browserify": {
    "transform": [ [  "babelify", { "presets": [ "es2015" ], "sourceMap": true } ] ]
  },
  "dependencies": {
    "babel-preset-es2015": "^6.24.1",
    "babelify": "^7.3.0"
  }
}