从Ionic v1迁移到Ionic v3或v4?

时间:2018-12-13 13:22:12

标签: javascript angularjs typescript cordova ionic3

我的Ionic v1应用程序需要升级到v3 ...甚至v4。一些问题:

  
      
  1. 在我的v1应用程序中,我有一个JS根文件夹,其中包含app.js,controllers.js,services.js,所有页面和模板均来自该文件夹。我知道在离子   v2-v4,每个页面都有自己的文件夹和自己的文件夹   controller,service,template.html文件-我将需要分解所有内容并将其移至新结构中。但是,在我的v1应用中   对于我加载的标准JS函数有一个“全局” index.js文件   通过主index.html文件进入我的应用-该文件中的功能在所有   我现有应用程序的页面/控制器/服务。在新结构中,   我将把这个全局的“ index.js”文件放在哪里?或者,我应该怎么办?   将其转换为所有功能都保持全局状态?

  2.   
  3. 是否存在某种矩阵,可以显示v1,v2,v3和v4的features-除了性能,每个版本的收益超过   以前的版本(现在可以执行的操作,而现在已经无法执行   先前)?

  4.   
  5. 是否有一个JS到TS迁移工具可以帮助迁移所有现有的JS?

  6.   
  7. 最后,在直接转到v3与直接转到v4之间是否有任何论点?

  8.   

总是存在“如果没有破裂就不要修复”。但是我发现维护我的v1应用程序越来越困难,越来越难以添加新功能,不再支持越来越多的插件,总的来说,我认为迁移现在已成为一项重要的性能提升。我只是讨厌必须经历这个过程。

1 个答案:

答案 0 :(得分:0)

将全局JS标签放在src/index.htmlbuild/polyfills.js(它们在body标签中)之前的build/main.js标头标签中。

示例:我创建了一个带有src/assets/test.js的文件var testvar,并导入了src/index.html,然后在src/app/app.component.ts中声明了声明var testvar;

test.js

var testvar = "Hello from external js";

index.html

...
      <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
      <link rel="manifest" href="manifest.json">
      <meta name="theme-color" content="#4e8ef7">

      <!-- cordova.js required for cordova apps -->
      <script src="cordova.js"></script>
      <script src="assets/js/test.js"></script> //here, not in body
...

app.componet.ts

...  
declare var testvar;

    @Component({
       templateUrl: 'app.html'
    })
    export class MyApp {
      @ViewChild(Nav) nav: Nav;
      constructor(private statusbar : StatusBar,  splashScreen: SplashScreen) {
       alert(testvar);
...