基于Webpack打包的Angular4项目中引入jQuery

在Angular的开发过程中可能会用到jQuery。有时候不直接使用,使用的第三方框架可能也会用到。因此,我在这里总结了一下我在Angular2-4项目中是如何引入jQuery的。

1.安装jQuery

首先在jQuery官网找到适合自己的按照方式,我这里直接用NPM的方式安装:
npm install jquery --save
加入--save是将jQuery写入当前项目的package.json中

2.配置webpack.config.js

在webpack.config.js的config.plugins下加入:

config.plugins = [
  //省略掉了其他配置
    new webpack.ProvidePlugin({
      $: "jquery",
      jquery: "jquery",
      jQuery: "jquery",
      "windows.jQuery": "jquery"
    })
  ];
3.声明与使用

使用webpack的话需要在vendor.ts文件中import jQuery:
import 'jquery/dist/jquery.js'

我引用的semantic-ui 需要使用jQuery对象,例如创建一个search对象需要:
$('xxxx').search(xxx)

在Angular2~4的Component中不能直接使用jQuery的$符号,因此我们在Component文件的顶部引入$:
declare var $: any;

然后就可以正常使用jQuery了,例如:

  ngOnInit() {
    $(this.brandInput.nativeElement).search({
      apiSettings: {
        url: '/api/brand/name?q={query}'
      },
      fields: {
        results : 'results',
        title   : 'title',
      },
      searchDelay:300
    })
  }

我在ngOnInit方法中获得Angular的页面元素brandInput的nativeElement,
相当于一个选择器,就是获得页面上的元素,然后用$符号成功将其转换成一个jQuery对象。

参考

how to use jQuery with Angular2?
[Question] jQuery inclusion for Bootstrap

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,227评论 7 35
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,710评论 7 110
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,322评论 4 31
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,231评论 0 21
  • 似乎不能更完美了。我们会慢慢老去,变得跟《胭脂扣》里的十二少那样可耻又不堪,而他,则加入了天使的行列,完全地从时间...
    就爱优闲阅读 1,825评论 18 51