Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 逐步从包含每个JS文件转移到模块绑定_Javascript_Typescript_Webpack - Fatal编程技术网

Javascript 逐步从包含每个JS文件转移到模块绑定

Javascript 逐步从包含每个JS文件转移到模块绑定,javascript,typescript,webpack,Javascript,Typescript,Webpack,在我们的AngularJS应用程序中,我们目前有400多个文件,这些文件是通过-标记包含的。这些文件的顺序如下所示: AngularJS脚本文件 第三方插件/模块 业务逻辑文件 模块 服务 控制器/组件/指令 我们希望采用更好的方法,利用模块绑定器和类型脚本。新文件已用TypeScript编写,但不使用导入/导出。为了使事情变得更简单,我们可以将每个JavaScript文件转换为一个TypeScript文件,并在可行的时间内修复由此产生的错误 不过,在进行这项工作之前,我们希望有一个可行的策略,

在我们的AngularJS应用程序中,我们目前有400多个文件,这些文件是通过-标记包含的。这些文件的顺序如下所示:

AngularJS脚本文件 第三方插件/模块 业务逻辑文件 模块 服务 控制器/组件/指令 我们希望采用更好的方法,利用模块绑定器和类型脚本。新文件已用TypeScript编写,但不使用导入/导出。为了使事情变得更简单,我们可以将每个JavaScript文件转换为一个TypeScript文件,并在可行的时间内修复由此产生的错误

不过,在进行这项工作之前,我们希望有一个可行的策略,说明如何逐步利用进出口贸易。我正在考虑一些类似于不时重写一个模块的事情,从依赖关系树深处的模块开始


然而,我没能做到这一点,但我敢肯定,其他人以前已经解决了这个问题。

一旦您决定使用模块绑定器,您需要了解它的功能:1允许页面上的其他JavaScript访问捆绑包中定义的内容;2允许捆绑包访问页面上其他JavaScript定义的内容。如果您能够按照严格的依赖顺序进行迁移,那么您可能永远不需要2。例如,对于Webpack,1将是第一个,2将是第二个。然后将代码一点一点地移动到模块中,根据需要调整配置,以便代码的每个部分都可以从代码的另一部分访问它需要的东西。由于Webpack只支持单个库导出模块,因此在转换期间,您可能需要维护一个虚拟模块,该模块只需重新导出您需要从包外的代码访问的所有模块。这有点单调乏味,而且意味着如果您一次迁移完所有内容,您就不必做额外的工作,但您可能会认为,为了能够逐步迁移,支付这些成本是值得的

如果在从非模块TypeScript文件中的TypeScript模块文件获取类型信息时遇到问题,请参阅以了解解决方法