Javascript 逐步从包含每个JS文件转移到模块绑定
在我们的AngularJS应用程序中,我们目前有400多个文件,这些文件是通过-标记包含的。这些文件的顺序如下所示: AngularJS脚本文件 第三方插件/模块 业务逻辑文件 模块 服务 控制器/组件/指令 我们希望采用更好的方法,利用模块绑定器和类型脚本。新文件已用TypeScript编写,但不使用导入/导出。为了使事情变得更简单,我们可以将每个JavaScript文件转换为一个TypeScript文件,并在可行的时间内修复由此产生的错误 不过,在进行这项工作之前,我们希望有一个可行的策略,说明如何逐步利用进出口贸易。我正在考虑一些类似于不时重写一个模块的事情,从依赖关系树深处的模块开始Javascript 逐步从包含每个JS文件转移到模块绑定,javascript,typescript,webpack,Javascript,Typescript,Webpack,在我们的AngularJS应用程序中,我们目前有400多个文件,这些文件是通过-标记包含的。这些文件的顺序如下所示: AngularJS脚本文件 第三方插件/模块 业务逻辑文件 模块 服务 控制器/组件/指令 我们希望采用更好的方法,利用模块绑定器和类型脚本。新文件已用TypeScript编写,但不使用导入/导出。为了使事情变得更简单,我们可以将每个JavaScript文件转换为一个TypeScript文件,并在可行的时间内修复由此产生的错误 不过,在进行这项工作之前,我们希望有一个可行的策略,
然而,我没能做到这一点,但我敢肯定,其他人以前已经解决了这个问题。一旦您决定使用模块绑定器,您需要了解它的功能:1允许页面上的其他JavaScript访问捆绑包中定义的内容;2允许捆绑包访问页面上其他JavaScript定义的内容。如果您能够按照严格的依赖顺序进行迁移,那么您可能永远不需要2。例如,对于Webpack,1将是第一个,2将是第二个。然后将代码一点一点地移动到模块中,根据需要调整配置,以便代码的每个部分都可以从代码的另一部分访问它需要的东西。由于Webpack只支持单个库导出模块,因此在转换期间,您可能需要维护一个虚拟模块,该模块只需重新导出您需要从包外的代码访问的所有模块。这有点单调乏味,而且意味着如果您一次迁移完所有内容,您就不必做额外的工作,但您可能会认为,为了能够逐步迁移,支付这些成本是值得的 如果在从非模块TypeScript文件中的TypeScript模块文件获取类型信息时遇到问题,请参阅以了解解决方法