我无法弄清楚是怎么回事 browserify basedir
选项 作品..
注意:我对整体的理解可能是错的 basedir
概念,因为我来自RequireJS(想想 baseUrl
)。
编辑
确实我错了,但你仍然可以实现我想要做的事情 paths
选项,请参阅下面的答案。
我明白了 basedir
选项为您提供了指定所有需求路径的能力(自由!)(以a开头) .
)来自静态的根/基础目录..而不是来自 process.cwd()
..
这实际上让我发疯,我虽然这样的功能实现起来非常基础,很多人会遇到与我相同的问题,但网上关于如何正确设置的信息实际上很少 basedir
选择..相信我,这不是直截了当的..
所以这是让我疯狂的BASIC示例。
给定以下文件结构:
js/
js/app.js
js/src/models/Person.js
js/src/views/PersonView.js
并运行:
var browserify = require('browserify');
var gulp = require('gulp');
gulp.task('scripts', function() {
var b = browserify('./app', {basedir: './js'});
b.bundle().pipe(gulp.dest('./dist'));
});
我希望能够做到以下几点 require()
打电话给 PersonView.js
:
var Person = require('./src/models/Person');
...
而不是(显然工作......):
var Person = require('../models/Person');
...
但是我收到以下错误:
Error: module "./src/models/Person" not found from "/Users/...some path.../js/src/views/PersonView.js"
我错过了什么 basedir
选项?