mscorlib:错误:无法找到模块'加密'在应用程序

时间:2017-06-28 02:39:00

标签: node.js azure webpack azure-functions openpgp.js

我有一个利用openpgpjs库作为依赖项的项目,我将WebPacking整个应用程序部署到Azure Functions上 resolve cold start issues

当以非Webpacked格式在本地运行时,Azure函数可以正常工作,但是一旦我将WebPack文件包起来,我就会在运行时不断收到错误:

" mscorlib:错误:无法找到模块'加密'"

触发此错误的代码似乎来自Openpgpjs的util.js.

整个文件在这里: https://github.com/openpgpjs/openpgpjs/blob/master/src/util.js

违规代码片段如下:

/**
   * Get native Node.js crypto api. The default configuration is to use
   * the api when available. But it can also be deactivated with config.use_native
   * @return {Object}   The crypto module or 'undefined'
   */
  getNodeCrypto: function() {
    if (!this.detectNode() || !config.use_native) {
      return;
    }

    return require('crypto');
  },

对于我的生活,我无法弄清楚为什么会发生这种情况,我无法让错误消失。

I'm using my own script pack-git to do the Webpacking等等。但是,如果我使用Azure's function pack,我会得到相同的行为。 (当我开始为master-pack编写代码时,它并不存在。

因此我认为这与图书馆使用WebPack的方式有关,但我不知道从哪里开始计算/排除故障。

有没有人对出了什么问题有任何想法,或者至少有想法可以帮助我进一步解决问题?

-------------------编辑---------------------

我创建了一个简单的项目,当使用Webpack运行Funcpack时会重现该问题。

复制步骤:

  1. 全局安装funcpack和azure-functions-cli:

    npm install -g funcpack azure-functions-cli

  2. 克隆以下回购:

    git clone https://github.com/securityvoid/funcpack-bug.git

  3. 在您克隆的文件夹中运行npm install:

    npm install

  4. 从克隆存储库的基础中使用azure-functions-cli启动Azure功能。

    func run aaaa

  5. 导航到以下网址并验证您是否返回空白页面,其中显示了其正常工作:

    http://localhost:7071/Test

  6. 关闭窗口停止azure-functions-cli。

  7. 在目录的基础上运行funcpack:

    funcpack

  8. 重复步骤4-5

  9. 注意:这次您收到有关未找到模块加密的错误。

0 个答案:

没有答案