2016-03-06 16 views
5

Tôi đang sử dụng gulp với browserify + babelify để biên dịch JS của tôi.Làm cách nào để đưa các tệp JS Foundation 6 qua nhập ES6?

Nhiệm vụ của tôi trông như thế:

import config from '../config.json'; 

import gulp from 'gulp'; 
import browserify from 'browserify'; 
import babelify from 'babelify' 
import browserSync from 'browser-sync'; 
import babel from 'gulp-babel'; 
import source from 'vinyl-source-stream'; 


function onError(error) { 
    console.log(error.toString()); 
    this.emit('end'); 
} 

export function dev() { 
    return browserify({ 
     entries: 'src/js/main.js', 
     debug: true, 
     extensions: ['.js', '.json', '.es6'] 
    }) 
     .transform(babelify) 
     .bundle() 
     .on('error', onError) 
     .pipe(source('main.js')) 
     .pipe(gulp.dest('public/js')) 
     .pipe(browserSync.stream()); 
} 


gulp.task('js:dev', dev); 

Trong src/js/main.js tôi đang cố gắng trong Foundation nhập khẩu mô-đun JS. Tập tin này bao gồm chỉ một dòng:

import 'foundation-sites/js/foundation.util.motion'; 

Sau khi biên soạn tôi nhận được không biên soạn mô-đun nền tảng với một số browserify và mã babelify:

enter image description here

NHƯNG! Tôi cố gắng để sao chép tập tin từ node_modules tới thư mục src và import nó:

import './inc/app'; 

Và trong trường hợp này al hoạt động tốt:

enter image description here

Tại sao? Phép thuật gì? Điều gì sẽ là đúng cách?

Trả lời

2

Sự cố là bạn đang cố gắng nhập tệp nguồn của gói trang web nền tảng. Bạn phải sử dụng phiên bản gói hoặc tệp nguồn duy nhất đã được chuyển đổi hiện tại trên node-modules/foundation-sites/dist/plugins/foundation.util.motion.

Sau đó, thay thế nhập khẩu của bạn với điều này và nó sẽ làm việc:

import 'foundation-sites/dist/plugins/foundation.util.motion'; 
Các vấn đề liên quan