1

我正在尝试浏览我的库,其中有Buffer核心模块在不同的地方使用。

我想Buffer用我们正在使用的另一个库来填充这个核心。

我试图查看https://github.com/thlorenz/browserify-shim在那里我可以指定我想要填充的模块,但它似乎不起作用。

我创建了一个名为shim.js

var Buffer = require('myModule').Buffer;

module.exports = {
  Buffer: { exports: Buffer }
};

Package.json

{
  ...
  "dependencies": {
    "MD5": "^1.2.1",
    "browser-request": "^0.3.1",
    "browserify-shim": "^3.6.0",
    ...
  },
  "devDependencies": {
    ...
  },
  "browserify-shim": "./shims.js"
}

Gruntfile.js(我正在使用grunt-browserify

browserify: {
    src: "./index.js",
    options: {
      transform: ['browserify-shim'],
      browserifyOptions: {
        builtins: false
      },
      bundleOptions: {
        standalone: "mylibrary"
      }
    }
  }
},

现在,当我咕哝构建文件时,我仍然看到这是需要的:

[function(_dereq_,module,exports){
(function (Buffer){

在我的浏览器中抱怨

Uncaught Error: Module name "buffer" has not been loaded yet for context: _. Use require([])
4

0 回答 0