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