2017-08-18 41 views
1

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

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

其中宣布哪些模块使用,并在匿名函数的模块中的变量分配。这似乎从webpack的v2开始已经被弃用了。我找不到任何关于此的信息(除了web pack v1的文档)。

我是否应该将所有模块重写为commonjs(包括依赖关系),还是有任何智能的方式来使用AMD模块?

帮助非常感谢:-) 问候

回答

1

AMD从来没有发现太大的用处requirejs所以有可能你将需要转换的外面。有工具,将帮助:

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

  • 像模型路径运行时转换/ PersonModel到../../models/PersonModel,这取决于它从哪里被调用。您仍然可以获得构建时翻译的bundle相关路径,以及它们的nodejs fileRelative等效项。

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

  • 无法使用要求的异步版本([ '出发'],功能(DEP){...})

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

  • 无法运行requirejs加载的插件,如文本!...或JSON!...

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

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

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

+0

感谢您的回复@CaptEmulation。我发现webpack支持开箱即用,但我的问题似乎在其他地方。使用pager.js与淘汰赛没有正确初始化(声称寻呼机是不确定的事件,但我已经要求它) – Svendole

+0

随意公开回购并提供链接,如果你想要另一组眼睛 – CaptEmulation

+0

我已经创建了一个公共回购只有基本文件:[链接](https://github.com/svendlove/front)@CaptEmulation感谢您的时间! – Svendole