我想不出该怎么browserify basedir选项工程..
注意:我对整个basedir概念的理解可能是错的,因为我来自RequireJS(想想baseUrl).
编辑
确实我错了,但你仍然可以实现我试图做的paths选项,请参阅下面的答案.
我知道该basedir选项为您提供了.从静态根/基础目录中指定所有需要路径(以a开头)的能力(自由!)而不是来自process.cwd()..
这实际上让我发疯,我虽然这样的功能实现起来非常基础,并且很多人会遇到与我相同的问题,但网上实际上很少有关于如何正确设置的信息basedir选择..相信我,这不是直截了当的..
所以这是让我疯狂的基本例子.
给定以下文件结构:
js/
js/app.js
js/src/models/Person.js
js/src/views/PersonView.js
Run Code Online (Sandbox Code Playgroud)
并运行:
var browserify = require('browserify');
var gulp = require('gulp');
gulp.task('scripts', function() {
var b = browserify('./app', {basedir: './js'});
b.bundle().pipe(gulp.dest('./dist'));
});
Run Code Online (Sandbox Code Playgroud)
我希望能够进行以下require()调用PersonView.js:
var Person = require('./src/models/Person');
...
Run Code Online (Sandbox Code Playgroud)
而不是(显然工作......):
var Person = require('../models/Person');
...
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Error: module "./src/models/Person" not found from "/Users/...some path.../js/src/views/PersonView.js"
Run Code Online (Sandbox Code Playgroud)
我对这个basedir选项缺少什么?