ES6 项目无法编译,因为找不到模块

ES6 project does not compile because modules not found

我正在尝试将我的 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'));
});

所以,出于某种原因,它没有解决依赖关系。有什么建议可能是错的吗?

在您的 IDB.js 文件中将其更改为

export default class IDB { 
    constructor(options) { ... }
    render() { ... }
}

这应该正确地将 IDB class 导出为模块。 并在 app.js 中将导入更改为文件的相对路径,如下所示:

import IDB from './IDB';