gpt4 book ai didi

javascript - 从 requirejs 迁移到 webpack

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:29 26 4
gpt4 key购买 nike

我正在将一个基于 require.js 的项目迁移/移动到 webpack v3。由于我所有的模块都使用以下语法:

    define([modules,..], function(mod1,..) 

其中声明使用哪些模块,并将模块赋值给匿名函数中的变量。自 webpack v2 以来,这似乎已被弃用。我找不到任何关于此的信息(web pack v1 的文档除外)。

我应该将所有模块重写为 commonjs(包括依赖项)还是有任何巧妙的方法来使用 AMD 模块?

帮助非常感谢:-)问候

最佳答案

AMD 从未在 requirejs 之外发现太多用途,因此您可能需要转换。有一些工具可以提供帮助:

有来自 ( https://github.com/anodynos/uRequire/wiki/nodejs-Template ) 的注意事项:

  • 运行时将 models/PersonModel 等路径转换为 ​​../../models/PersonModel,具体取决于从何处调用。你仍然会得到构建时翻译的 bundleRelative 路径,到他们的 nodejs fileRelative 等价物。

对于大多数项目来说,这不是问题。

  • 不能使用 require(['dep'], function(dep){...}) 的异步版本

您应该能够使用 require 的同步版本。如果使用 webpack2,您可以使用 System.importrequire.ensure

  • 无法运行 requirejs 加载器插件,例如文本!...或 json!...

你会发现所有这些插件的 webpack 版本

  • 没有/的映射,即 webRootMap 等或使用 requirejs.config 的 {baseUrl:"...."} 或 {paths:"lib":"../../lib"}

这可以用 https://www.npmjs.com/package/babel-plugin-module-alias 复制

关于javascript - 从 requirejs 迁移到 webpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45765710/

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