使用Webpack在运行时动态要求JS文件

先生女士

我试图将库从grunt / requirejs移植到webpack并偶然发现一个问题,这可能是这项工作的败笔。

我尝试移植的库具有一个功能,该功能可以根据我们从配置文件获取的文件名将多个模块加载并评估到我们的应用程序中。代码看起来像这样(咖啡):

loadModules = (arrayOfFilePaths) ->
  new Promise (resolve) ->
    require arrayOfFilePaths, (ms...) ->
      for module in ms
        module ModuleAPI
      resolve()

require这里需要在运行时和行为被称为像它与requireJS一样。Webpack似乎只关心“构建过程”中发生的事情。

这是webpack从根本上不关心的事情吗?如果是这样,我仍然可以将requireJS与它一起使用吗?在运行时动态加载资产的最佳解决方案是什么?

编辑:loadModule可以加载该库的构建时不存在的模块。它们将由实现我的库的应用程序提供。

先生女士

因此,我发现我要求在运行时加载一些文件,这些文件仅在“应用程序编译时”可用,而在“库编译时”不可用,这对于webpack来说是不容易实现的。

我将更改该机制,以便我的库不再需要文件,而是需要传递所需的模块。有点告诉我,无论如何这将是更好的API。

编辑以澄清:

基本上,而不是:

# in my library
load = (path_to_file) ->
  (require path_to_file).do_something()

# in my app (using the 'compiled' libary)
cool_library.load("file_that_exists_in_my_app")

我这样做:

# in my library
load = (module) ->
  module.do_something()

# in my app (using the 'compiled' libary)
module = require("file_that_exists_in_my_app")
cool_library.load(module)

第一个代码在require.js中起作用,但在webpack中不起作用。

事后看来,无论如何在运行时都拥有一个3rd-party-library加载文件是非常错误的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何动态创建css / js / html文件并使用ASP.NET MVC在运行时提供服务

来自分类Dev

如何动态创建css / js / html文件并使用ASP.NET MVC在运行时提供服务

来自分类Dev

在运行时从protobuf文件动态创建python类?

来自分类Dev

在运行时从文件动态加载函数

来自分类Dev

在运行时使用动态名称创建Qlabel

来自分类Dev

在运行时使用动态参数调用 printf

来自分类Dev

Node.js-在运行时加载文件

来自分类Dev

Swift ...在运行时更改.js文件的变量

来自分类Dev

Google js文件未在运行时加载

来自分类Dev

Swift ...在运行时更改.js文件的变量

来自分类Dev

在运行时动态评估代码

来自分类Dev

在运行时动态加载jar?

来自分类Dev

在运行时动态创建类

来自分类Dev

在运行时动态实现委托

来自分类Dev

在运行时编辑动态记录

来自分类Dev

如何在运行时在 webpack 应用程序中要求任意本地脚本?

来自分类Dev

在运行时合并ResX文件?

来自分类Dev

在运行时加载JSON文件

来自分类Dev

在运行时加载JSON文件

来自分类Dev

在运行时读取 plist 文件

来自分类Dev

Aurelia webpack 4 - 在运行时加载所需的 CSS 文件失败

来自分类Dev

在Require.js优化期间如何使用本地文件,但在运行时如何使用CDN托管的版本?

来自分类Dev

在运行时动态解析.proto文本文件以生成描述符

来自分类Dev

无论如何,在运行时是否将数据列表与js中的输入动态关联?

来自分类Dev

在运行时动态添加时,ext js组件显示问题

来自分类Dev

无论如何,在运行时是否将数据列表与js中的输入动态关联?

来自分类Dev

使用JNDI在运行时动态更改项目阶段的值

来自分类Dev

使用ASP.NET MVC 4在运行时动态应用验证规则

来自分类Dev

使用WPF / MVVM在运行时动态更改UserControl内容

Related 相关文章

  1. 1

    如何动态创建css / js / html文件并使用ASP.NET MVC在运行时提供服务

  2. 2

    如何动态创建css / js / html文件并使用ASP.NET MVC在运行时提供服务

  3. 3

    在运行时从protobuf文件动态创建python类?

  4. 4

    在运行时从文件动态加载函数

  5. 5

    在运行时使用动态名称创建Qlabel

  6. 6

    在运行时使用动态参数调用 printf

  7. 7

    Node.js-在运行时加载文件

  8. 8

    Swift ...在运行时更改.js文件的变量

  9. 9

    Google js文件未在运行时加载

  10. 10

    Swift ...在运行时更改.js文件的变量

  11. 11

    在运行时动态评估代码

  12. 12

    在运行时动态加载jar?

  13. 13

    在运行时动态创建类

  14. 14

    在运行时动态实现委托

  15. 15

    在运行时编辑动态记录

  16. 16

    如何在运行时在 webpack 应用程序中要求任意本地脚本?

  17. 17

    在运行时合并ResX文件?

  18. 18

    在运行时加载JSON文件

  19. 19

    在运行时加载JSON文件

  20. 20

    在运行时读取 plist 文件

  21. 21

    Aurelia webpack 4 - 在运行时加载所需的 CSS 文件失败

  22. 22

    在Require.js优化期间如何使用本地文件,但在运行时如何使用CDN托管的版本?

  23. 23

    在运行时动态解析.proto文本文件以生成描述符

  24. 24

    无论如何,在运行时是否将数据列表与js中的输入动态关联?

  25. 25

    在运行时动态添加时,ext js组件显示问题

  26. 26

    无论如何,在运行时是否将数据列表与js中的输入动态关联?

  27. 27

    使用JNDI在运行时动态更改项目阶段的值

  28. 28

    使用ASP.NET MVC 4在运行时动态应用验证规则

  29. 29

    使用WPF / MVVM在运行时动态更改UserControl内容

热门标签

归档