CommonJs + Browserify - Wrench.js无法读取属性'匹配'未定义的

时间:2017-05-16 16:22:31

标签: javascript gulp browserify commonjs

我正在尝试使用CommonJS进行客户端开发的设置。我正在使用Gulp触发Browserify为我自动编译我的JS文件。我只是将我的JS文件保留为:

var commonjs = require('common.js');

Browserify设法编译得很好,但在浏览器中我收到以下错误:

Cannot read property 'match' of undefined

它所指的行实际上来自wrench.js,它被作为common.js的依赖包含在内:

isWindows = !!process.platform.match(/^win/)

如果我记录process.platform,则返回为其声明的未定义。从在线阅读,扳手已被弃用,所以我很惊讶甚至还在使用。结合从搜索中我无法找到对此错误的引用这一事实,感觉就像我在做一些非常愚蠢的事情!!

我通过npm安装了common.js,这是我的packages.json的依赖:

"dependencies": {
    "browserify": "^14.3.0",
    "common.js": "^1.1.1",
    "gulp-browserify": "^0.5.1"
  }

有人能指出我在正确的方向吗?我使用的是错误的包装吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

在发布后我自己解决了这个问题,但我会留下这个,以防其他人遇到它。

似乎有几个命名类似于commonjs的npm模块。我实际需要的那个是上面公布的common-js not common.js。我一改变了,就开始工作了。

希望能帮助别人