gpt4 book ai didi

jspm - 如何填充依赖于全局 jQuery 和 lodash 的非 CommonJS、非 AMD 包?

转载 作者:行者123 更新时间:2023-12-03 21:39:05 25 4
gpt4 key购买 nike

我第一次使用 jspm 并且已经遇到了障碍。

我需要弄清楚如何“填充”我们公司私有(private) npm 注册表中的专有脚本。

包裹:widget

  • 驻留在私有(private) npm 注册表
  • 不是 一个 CommonJS,UMD/AMD 模块
  • 取决于 lodashjquery , 但假设它们存在于全局范围内
  • 曝光 Widget在全局范围内

  • 这是(假设的)代码
    var Widget = {
    render: function(el, symbol) {
    symbol = _.trim(symbol);
    $(el).text(symbol);
    }
    };

    app.js
    var widget = require("Widget");
    widget.render(document.getElementById("name"), " Fred ");

    index.html
    <body>
    <div id="name"></div>

    <script src="jspm_packages/system.js"></script>
    <script src="config.js"></script>
    <script>
    System.import("app");
    </script>
    </body>

    当我在本地 Web 服务器中运行此页面时,出现错误:

    Uncaught Reference: _ is not defined



    如何为 widget 提供“垫片”? ?

    最佳答案

    你最好的选择是,如果你可以更新 Widget 包的 package.json,你可以告诉 JSPM 它需要一个 shim:

    {
    "shim": {
    "widget": { "deps": ["jquery", "lodash"] }
    }
    }

    (其中“小部件”是包内的模块名称。)

    如果由于某种原因您不能直接接触该 npm 包,那么您可以在 jspm 安装时覆盖 shim 信息:
    jspm install widget -o "{ shim: { 'widget': { deps: ['jquery', 'lodash'] } } }"

    (同样,'widget' 是模块名称,作为包本身的本地名称。)

    关于jspm - 如何填充依赖于全局 jQuery 和 lodash 的非 CommonJS、非 AMD 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517124/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com