美文网首页ionic3开发集锦ionic3+我的ionic
【技巧】ionic3添加第三方js

【技巧】ionic3添加第三方js

作者: IT晴天 | 来源:发表于2017-10-13 13:20 被阅读381次

    网上应该有资料吧?对于封装成angular2+的模块,直接import就行了,反之的第三方js,其实也很简单,一般不用考虑js的模块规范(如CommonJS,AMD,CMD),起码有如下两种方式(以jquery为例——题外话,angular虽然也能操作dom,但不推荐,推崇使用数据绑定,所以一般没必要引入jquery):

    方式一——普通:

    1. 像普通网页一样在index.html里面添加:
      <script src="第三方js地址"></script>
    
    1. 使用时,在ts文件头部添加:
    declare let $: any;
    

    方式二——import:

    1. 执行命令行安装node模块:
    npm install jquery
    
    1. 使用时,在ts文件头部添加:
    import * as $ from 模块名或Js的相对路径;
    

    或直接导出方法

    import { myFunction } from 模块名或Js相对路径
    

    一般到这里就可以了,只是这个时候调用起来还是有点不方便,调用时要么已经熟知该js库怎么用,要么要看源码了解它的属性或方法,就算你打错了方法名都不会有提示。那有没有更方便使用呢?有,那就是typings,它有点像我先前写的一篇文章中cordova原始调用和基于ionic-native的模块调用的概念,typings会把原始js映射为类的概念生成d文件,这样,不需要等到运行,在编码过程中通过typescript就能有提示,同时会直接检验使用的正确性。

    使用typings其实挺简单,一句npm install @types/<package>命令即可,如:

    npm install @types/jquery
    

    或许一些文章会写到要全局安装typings的cli,然后用typings的命令typings install等等的,其实已经都过期了,因为从TypeScript 2.0开始,已经改为@types模块,由npm来管理了,这使得使用起来更加方便。

    然后常规使用即可。这里简单给出验证示例:

    html页面加一个按钮:

     <button ion-button id="test" (click)="onTest()">test</button>
    

    ts里面加一个方法:

      onTest(){
        console.log($('#test'));
      }
    

    最后点击按钮时的输出结果见下图:

    浏览器调试输出结果

    相关文章

      网友评论

      • dml1874:方式一的引用:declare let $: any;,在ts文件调用时,直接这样写就可以吗?
        IT晴天:@dml1874 一样,多打一句declare
        dml1874:@IT_晴天 如果我再引入一个js文件,又该怎么调用呢?
        IT晴天:@dml1874 可以
      • dml1874:Ionic 本身不就有(click)这个属性,还需要引入jQuery 吗?
        IT晴天:@dml1874 我文章里面不是说了没必要引入jquery吗?我这里只是随便拿个Js来做示范

      本文标题:【技巧】ionic3添加第三方js

      本文链接:https://www.haomeiwen.com/subject/pwrzyxtx.html