2015-03-13 75 views
0

我想编译我的ES6类成为将在浏览器中工作的东西。不幸的是,当我运行一饮而尽,我得到以下错误ES6项目不能编译,因为模块没有找到

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')); 
}); 

所以,出于某种原因它不能解决依赖关系。任何建议可能是错误的?

回答

1

在你IDB.js文件,将其更改为

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

这应该正确地导出IDB类的模块。 并在app.js中将导入更改为此文件的相对路径:

import IDB from './IDB';