ES6:“import $ from 'jquery'"的真正含义
ES6: What does "import $ from 'jquery'" really means?
一开始我认为它只是意味着加载jQuery模块并在一个名为$的变量中初始化它。
但是,通过使用Atom与原子typescript,我得到了一个错误,说它"无法找到模块'jquery'"。尽管所有的代码都可以在浏览器中工作,但看起来原子类型脚本无法解析类似于import x from y这样的内容。
现在,看看ES6文档,我发现你从一个模块导入一个类/函数。其含义完全不同,它在以下情况下是有意义的:
import { Component } from 'angular2/core';
但是它在jQuery的情况下意味着什么呢?
我可能在同一个问题中混合了不同的问题,但任何解释都会清除这种混乱,所以提前感谢:)
语句import $ from jquery
几乎相当于依赖注入。就像一个人会写import React from 'react'
给自己访问一个文件中的React库,所以可以写import $ from jquery
。(如果它把您弄糊涂了,这里使用美元符号是因为jQuery和它的方法是使用$ (又名$)访问的。 jQuery)操作符
如果你单独安装jQuery作为一个依赖在你的包。json文件以及包含来自jQuery CDN的
<script>
标记,此错误将被抛出。如果你是通过NPM使用jQuery,那么import $ from jquery
语法是正确的/必要的。如果您打算通过CDN使用jQuery(就像我建议的那样),那么import
语句是不必要的。(由于您已经在index.html中包含了该脚本标记,因此您可以在整个应用程序范围内访问jQuery及其库)。但不要两者都做。还要注意,在
import { Component } from 'angular2/core';
语句的情况下,发生了一些稍微不同的事情。也就是说,一个是按照AMD规范导入名为export Component的。在这种情况下,你可以把它想象成只导入较大的Angular2核心库的一部分,而不需要导入整个库。
只是为了确保,检查你实际上已经通过CDN或通过安装它作为一个NPM依赖给自己访问jQuery。
- "工具提示"jQuery插件坏了
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- 使用javascript"这个“;用于jquery选择器
- jQuery"或“;操作员没有处理mouseleave
- jQuery"焦点”;在一个实例中有效,但在其他实例中无效
- Jquery scrollTop动画不工作"无法读取属性'top'无风
- 如何分解jQuery"toggle”;函数转换为separate“;显示“;以及“;隐藏“;功能
- "未定义不是函数“;错误jQuery,.replaces,scrollTop
- 改变“;onClick"这个jQuery的操作从清除输入文本改为将输入文本添加到下面的列表中
- "这个“;在每个范围之外(JQuery)
- 如何在“;beforeSend:function()"使用ajax和jquery
- jQuery"悬停时放大”;无法相对于图片中心放大
- 我正在使用php includes来构建一个多页面网站.使用jquery,我将如何添加一个类"活动的”;添加到
- jQuery捕获"RangeError:超过了最大调用堆栈大小“;
- jQuery:使用.attr('href',")调用javascript
- 我怎么能读“;.on()"jQuery中的方法参数
- jQuery css"点击“;不会'更改日历中选定的月份后无法工作
- 改变与“"至“-"(JS/Jquery)
- 通过分离除“”之外的任何特殊字符来获得所有列表框值"通过jquery