【问题标题】:Browserify require('restangular') returns empty objectBrowserify require('restangular') 返回空对象
【发布时间】:2015-10-22 17:56:42
【问题描述】:

我在尝试使用 browserify、angularjs 和 restangular 时遇到问题。

当我尝试要求 npm 或 bower 模块时,例如 require('restangular),browserify 返回空对象。当我需要任何 bower 或 npm 模块时,就会发生这种情况。当我尝试要求任何本地文件时,一切正常。

文件结构:

bower_components/
src/
  -client
      -app
          app.js
          backend
                backend.module.js
                -test
                    test.module.ls
                    test.js
node_modules/

app.js

(function() {
    'use strict';
    require('angular');

    var rest = require('restangular');
    console.log(rest);

    module.exports = angular
        .module('app', [
            require('restangular').name,
            require('./test/test.module').name,
        ]);
})(); 

package.json

"browserify": {
    "transform": [
        "browserify-shim"
    ]
},
"browser": {
    "restangular": "./bower_components/restangular/dist/restangular.js"
},
"browserify-shim": {
    "restangular": "restangular"
}

gulpfile.js

gulp.task('browserify', function() {
    gulp.src(['./src/client/app/app.js'])
    .pipe(plugins.browserify({
        insertGlobals: true,
        debug: true
    }))
    .pipe(plugins.concat('bundled.js'))
    .pipe(gulp.dest('./src/client/js'))
});

你能帮帮我吗? 提前致谢。

【问题讨论】:

    标签: angularjs browserify commonjs


    【解决方案1】:

    只需修改 package.json 中的“浏览器”部分:

    "browserify-shim": {
        "angular": {
          "exports": "angular"
        },
     "restangular": {
          "depends": [
            "angular"
          ],
          "exports": "restangular"
        }
    }
    

    希望它会起作用。

    【讨论】:

      【解决方案2】:

      尝试用这个 sn-p 修改你的 package.json 文件。

      "browser": {
          "restangular": "./bower_components/restangular/dist/restangular.js"
        },
        "browserify-shim": {
          "restangular": {
            "depends": [
              "angular",
              "lodash:_"
            ],
            "exports": "null"
          }
        }
      

      @newtricks 提供的解决方案来自 discussion

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-10
        • 2014-07-15
        • 1970-01-01
        • 2014-12-14
        • 1970-01-01
        • 2019-02-23
        • 2016-06-04
        • 1970-01-01
        相关资源
        最近更新 更多