我正在尝试将我的ES6类编译成可在浏览器中运行的东西。不幸的是,当我运行gulp时,我收到以下错误
Error: Cannot find module 'IDB' from 'my-project/src'
所以,只是为了了解项目结构
my-project/
gulpfile.js
src/
app.js
IDB.js
多数民众赞成。 src
中的文件如下所示:
app.js
import IDB from 'IDB';
class View {
constructor(options) { ... }
render() { ... }
}
IDB.js
export class IDB {
constructor(options) { ... }
render() { ... }
}
最后,我的gulpfile.js
看起来像是:
gulp.task('default', function() {
browserify('./src/app.js', { debug: true })
.transform(to5ify)
.bundle()
.pipe(source('bundle.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.write('./')) // writes .map file
.pipe(gulp.dest('./build'));
});
因此,由于某种原因,它无法解决依赖关系。有什么建议可能是错的吗?
答案 0 :(得分:1)
在您的IDB.js文件中将其更改为
export default class IDB {
constructor(options) { ... }
render() { ... }
}
这应该正确导出IDB类作为模块。 在app.js中,将导入更改为文件的相对路径,如下所示:
import IDB from './IDB';