【问题标题】:How can I use bluebird-q in browser without browserify?如何在没有 browserify 的情况下在浏览器中使用 bluebird-q?
【发布时间】:2017-11-01 01:24:38
【问题描述】:

我想在浏览器 JS 应用程序中使用 bluebird-q (https://github.com/petkaantonov/bluebird-q) 作为 Q 的 shim。这是不可能开箱即用的,因为 bluebird-q 库代码以 2 NodeJS 样式要求开头:

var Promise = require("bluebird/js/main/promise")();
var scheduler = require("bluebird/js/main/schedule");

这两个需求不能被整个库的需求替换(https://github.com/petkaantonov/bluebird/tree/v2.10.2#for-library-authors):

var Promise = require("bluebird");

Browserify 解决了这个问题,但在我看来这个解决方案不够方便:它需要构建步骤,使代码的可读性降低,一些静态代码扫描器无法按预期使用 browserified 代码和最重要的 bluebird 和 bluebird-q不能作为单独的脚本文件引用。

关于这个话题的两个问题:

1) 整个 bluebird 库不能按原样包含在 bluebird-q 中的原因是什么?

2) 在没有 browserify 的情况下,在浏览器中使用 bluebird-q 是否有更优雅的解决方案?

P.S.:我知道 bluebird 本身是为使用 browserify 的浏览器构建的:这个构建已经过正确测试。 bluebird-q 没有官方的 browserify 版本。

【问题讨论】:

  • 为什么要使用 bluebird-q 而不是 bluebird 自己的 API?
  • 有些现有代码依赖于 Q API,目前无法重构。
  • 浏览一次,然后在别处包含该代码。
  • 这是我目前正在做的,问题是关于更优雅的解决方案,它不会使用 browserify。
  • 您只需浏览一次,然后将结果保存为脚本标签

标签: javascript browser promise q bluebird


【解决方案1】:

目前浏览器版本的库已附加到 npm 包中。可以在这里找到:https://unpkg.com/bluebird-q@2.1.1/q.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多