0
我有一個名爲constants
的模塊。 Browserify未能捆綁該模塊作爲其名稱衝突與lib/builtins
定義的內置模塊:當名稱與內置函數衝突時,Browserify隱藏模塊
exports.constants = require.resolve('constants-browserify');
這種效果可在生成的代碼中觀察到。例如,取決於一個constants
模塊顯示:
{
//...
12:[
function(require,module,exports){...},
{"util":6,"constants":2}
]
我們看到,模塊12依賴於模塊2(的constants
的索引)。與指數2模塊的定義是:
2:[
function(require,module,exports){
module.exports={
"O_RDONLY": 0,
"O_WRONLY": 1,
"O_RDWR": 2
// ...
}
},
{}
]
那些O_*
常量在constants-browserify
定義,而不是在我的constants
模塊。
我使用的NPM包從內杯和指定以下options:
return browserify('./main.js', {
basedir: './scripts/app/',
paths: ['./scripts/app/'],
builtins: []
})
.bundle()
.pipe(source('main.js'))
.pipe(gulp.dest('dist'));
我希望指定builtins
爲[]
(我試過{}
太)將覆蓋此行爲,但似乎只有解決模塊undefined
在生成代碼:
12:[
function(require,module,exports){...},
{"util":6,"constants":undefined}
]
問題:
- 主:有沒有辦法告訴browserify不要試圖更換我的模塊?
- 爲什麼browserify想要指定這些內置函數?我不明白他們是如何需要的。
我創建了一個[關於這個話題的問題(https://github.com/substack/node-browserify/issues/925)。 – 2014-09-30 18:00:17