2016-11-23 62 views
0

我正在使用browserify来连接,babelify和browserify几个js库的gulp。这是我gulpfile.js:gulp-browserify输出不同于它应该是

gulp.task('scripts', function() { 
    var b = browserify({ 
    entries: ['src/scripts/modernizr.js', 'src/scripts/main.js'], 
    debug: true 
    }).transform(babelify, { presets: ["latest"] }); 

    return b.bundle() 
    .pipe(source('main.js')) 
    .pipe(buffer()) 
    .pipe(sourcemaps.init({loadMaps: true})) 
     // Add transformation tasks to the pipeline here. 
     // .pipe(uglify()) 
     .on('error', gutil.log) 
    .pipe(sourcemaps.write('./')) 
    .pipe(gulp.dest('build/js/')); 
}); 

而且我的package.json:

"browserify": { 
    "transform": [ 
    [ 
     "babelify", 
     { 
     "presets": [ 
      "es2015" 
     ] 
     } 
    ] 
    ] 
} 

在我main.js这是我多么包括库:

var $ = window.jquery; 
import tinymce from 'tinymce/tinymce'; 
import 'tinymce/themes/modern/theme'; 
// import spica from 'spica'; 
// import localsocket from 'localsocket'; 
var spica = require('spica'); 
var localsocket = require('localsocket'); 
import Pjax from 'pjax-api'; 

然而我在控制台中收到以下错误:

pjax-api.js:8Uncaught Error: Cannot find module 'spica' 
    at s (http://localhost:8000/static/articles/build/js/main.js:1:148) 
    at http://localhost:8000/static/articles/build/js/main.js:1:305 
    at s (http://localhost:8000/static/articles/build/js/main.js:12699:28) 
    at http://localhost:8000/static/articles/build/js/main.js:12708:24 
    at Object.r.42.../../../lib/dom (http://localhost:8000/static/articles/build/js/main.js:14446:27) 
    at s (http://localhost:8000/static/articles/build/js/main.js:12706:21) 
    at http://localhost:8000/static/articles/build/js/main.js:12708:24 
    at Object.r.41../gui (http://localhost:8000/static/articles/build/js/main.js:14429:25) 
    at s (http://localhost:8000/static/articles/build/js/main.js:12706:21) 
    at http://localhost:8000/static/articles/build/js/main.js:12708:24 
    at Object.r.4../layer/interface/service/api (http://localhost:8000/static/articles/build/js/main.js:12738:25) 
    at s (http://localhost:8000/static/articles/build/js/main.js:12706:21) 
    at http://localhost:8000/static/articles/build/js/main.js:12708:24 
    at Object.r.pjax-api../src/export (http://localhost:8000/static/articles/build/js/main.js:15017:22) 
    at s (http://localhost:8000/static/articles/build/js/main.js:12706:21) 
    at e (http://localhost:8000/static/articles/build/js/main.js:12715:9) 
    at Object.3 (http://localhost:8000/static/articles/build/js/main.js:12717:2) 
    at s (http://localhost:8000/static/articles/build/js/main.js:1:254) 
    at http://localhost:8000/static/articles/build/js/main.js:1:305 
    at Object.8.jquery (http://localhost:8000/static/articles/build/js/main.js:67062:16) 
    at s (http://localhost:8000/static/articles/build/js/main.js:1:254) 
    at e (http://localhost:8000/static/articles/build/js/main.js:1:425) 
    at http://localhost:8000/static/articles/build/js/main.js:1:443 

这是我的目录结构:

articles 
    |--gulpfile.js 
    |--package_json 
    |--build 
    | |--img 
    | |--css 
    | |--js 
    | | |--main.js 
    |--src 
    | |--img 
    | |--styles 
    | |--scripts 
    | | |--main.js 
    |--node_modules 
    | |--spica 
    | |--localsocket 
    | |--pjax-api 
    | |--etc. 

怎么回事?

main.js的完整输出太大而无法粘贴,但here it is in a gist。这里是rest of my code in another gist

回答

0

您是否安装了spica软件包?如果没有,试试这个:

npm install --save-dev spica 
0

,如果你的“人字形”出现在同一目录下main.js是存在,那么它的罚款或其他

您必须指定

这样, var spica = require(dir_path/spica.js)

分享你的目录结构,所以我可以为你提供确切的语法。

+0

我把我的目录结构放在OP中。我只是尝试像这样导入,但它不起作用: 'var spica = require('../../ node_modules/spica');' 'var localsocket = require('../../ ' – Flobin

+0

把spica.js文件放在我的src文件夹中,然后输入以下内容: – Tanveer

+0

var spica = require('./spica'); – Tanveer