javascript – 如何通过ES6导入包含Foundation 6 JS文件?

我正在使用浏览器化babelify来编译我的JS.

我的任务看起来像这样:

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

在src / js / main.js中我正在尝试导入Foundation JS模块.该文件只包含一行:

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

编译后我得到一些非编译的基础模块,其中包含一些browserify和babelify代码

enter image description here

但!我试图将文件从node_modules复制到src文件夹并导入它:

import './inc/app';

在这种情况下,al工作正常:

enter image description here

为什么?有什么神奇之处?什么是正确的方法

最佳答案
问题是您正在尝试导入foundation-sites包的源文件.您必须使用node-modules / foundation-sites / dist / plugins / foundation.util.motion上已经编译的捆绑版本或单个源文件.

然后用这个替换你的导入它将工作:

import 'foundation-sites/dist/plugins/foundation.util.motion';

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...