【问题标题】:compiling javascript program with requirejs to remove require dependency使用requirejs编译javascript程序以删除require依赖
【发布时间】:2013-07-09 14:46:40
【问题描述】:

我编写了一个 JavaScript 应用程序,使用 requirejs 来处理依赖注入。我已经编译了该文件,但在将其作为脚本包含时出现明显错误:

未捕获的引用错误:未定义定义

如果开发人员决定不使用 AMD 加载器,我希望我的 JavaScript 应用程序不依赖于 AMD 加载器。但是,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖项。

是否有可用的编译器编译 JavaScript 以消除 AMD 依赖关系?我看到了一些关于 Grunt 的嗡嗡声,但还没有找到任何关于这是否是 Grunt 的功能的直接答案。

【问题讨论】:

    标签: javascript requirejs gruntjs


    【解决方案1】:

    您无法完全删除 require/define 依赖项,但您可以将其替换为不会带来任何显着性能损失的更小的垫片。请参阅优化指南的How can I provide a library to others that does not depend on RequireJS? 部分:

    如果您正在构建一个用于可能不使用 RequireJS 或 AMD 加载器的网页的库,您可以使用优化器将所有模块组合到一个文件中,然后将它们包装在一个函数中并使用 AMD API shim .这允许您发布并非所有 RequireJS 都附带的代码,并允许您导出在没有 AMD 加载程序的普通网页上工作的任何类型的 API。

    almond 是一种非常小的 AMD API shim,因此当您使用 RequireJS 优化器将所有模块构建到一个文件中时,它可以用来代替 require.js。 wrap 构建配置选项将在代码周围放置一个函数包装器,或者如果您需要执行额外的逻辑,您可以提供自己的包装器。

    【讨论】:

      猜你喜欢
      • 2013-03-17
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2020-05-04
      • 2012-01-11
      相关资源
      最近更新 更多