【问题标题】:gulp-browserify output different than it should begulp-browserify 输出与应有的不同
【发布时间】:2016-11-23 09:49:35
【问题描述】:

我正在使用 gulp 和 browserify 来连接、babelify 和 browserify 几个 js 库。这是在我的 gulpfile.js 中:

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

【问题讨论】:

    标签: javascript gulp browserify


    【解决方案1】:

    你有安装 spica 包吗?如果没有,试试这个:

    npm install --save-dev spica
    

    【讨论】:

      【解决方案2】:

      如果你的 'spica' 存在于 main.js 所在的同一目录中,那么它很好,否则

      你必须指定

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

      分享您的目录结构,以便我可以为您提供准确的语法。

      【讨论】:

      • 我已经将我的目录结构放在了 OP 中。我只是尝试像这样导入,但它不起作用:var spica = require('../../node_modules/spica');var localsocket = require('../../node_modules/localsocket');
      • 把spica.js文件我是src文件夹然后给出如下,
      • var spica = require('./spica');
      • 将 spica.js 从其 node_modules 文件夹中取出似乎是一个非常糟糕的主意。
      • sudo npm rebuild node-spica
      猜你喜欢
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      相关资源
      最近更新 更多