2015-03-13 1 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';