我一开始以为它只是意味着加载 jQuery 模块并在名为 $ 的变量中初始化它。
但是,通过将 Atom 与 Atom-TypeScript 一起使用,我收到一条错误消息,指出“找不到模块‘jquery’”。尽管所有代码都可以在浏览器中运行,但看起来atom-typescript无法解析类似于 import x from y 的任何内容。
现在,查看 ES6 文档,我发现您从模块导入了类/函数。含义完全不同,例如:
import { Component } from 'angular2/core';
但是对于 jQuery 来说这意味着什么呢?
我可能将不同的问题混合在同一个问题中,但任何解释都会消除这种混乱,所以提前非常感谢:)
该声明import $ from jquery
几乎相当于依赖注入。就像有人会写一样import React from 'react'
允许自己访问文件中的 React 库,这样就可以编写import $ from jquery
。 (以防万一,这里使用美元符号,因为 jQuery 及其方法是使用美元 (a.k.a.jQuery) 运算符。
至于抛出的错误,可能有以下几种:
如果您单独安装了 jQuery 作为依赖项包.json文件以及包含<script>
来自 jQuery CDN 的标签,将会抛出此错误。如果您通过 NPM 使用 jQuery,那么import $ from jquery
语法是正确/必要的。如果您打算通过 CDN 使用 jQuery(正如我推荐的那样),import
声明是不必要的。 (因为您已将该脚本标记包含在索引.html,您可以在整个应用程序范围内访问 jQuery 及其库)。但是,不要两者都做。
另请注意,在以下情况下import { Component } from 'angular2/core';
声明中,发生了一些略有不同的事情。也就是说,一个人正在导入命名导出 成分,根据(AMD规格 http://requirejs.org/docs/whyamd.html。在这种情况下,您可以将其视为在不需要整个库时仅导入较大的 Angular2 核心库的一部分。
为了确定起见,请检查您是否确实通过 CDN 或将其安装为 NPM 依赖项来授予自己对 jQuery 的访问权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)