从requirejs迁移到webpack

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

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

其中声明要使用哪些模块,并将模块分配给匿名函数中的variables。 这似乎是从webpack的v2弃用。 我找不到任何有关这方面的信息(web pack v1的文档除外)。

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

帮助非常感谢:-)问候

AMD从来没有在requirejs之外find太多的用处,所以你可能需要转换。 有些工具可以帮助您:

有( https://github.com/anodynos/uRequire/wiki/nodejs-Template )的警告:

  • 像models / PersonModel这样的path的运行时转换到../../models/PersonModel,取决于它从哪里调用。 你仍然会得到构build时间翻译bundleRelativepath,他们的nodejs fileRelative等价。

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

  • 不能使用require(['dep'],function(dep){…})的asynchronous版本

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

  • 无法运行requirejs加载程序插件,如文本!或JSON!…

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

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

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