jQuery(和插件)的多次导入真的有必要吗?

Are multiple imports of jQuery (and plugins) really necessary?

在视图 A 中,我需要一个 jQuery 插件,所以我这样做了:

import * as jQuery from 'jquery';
import plugin from 'path/of/plugin';

在视图 B 中,我只需要 JQuery,所以我这样做:

import * as jQuery from 'jquery';

如果我加载视图 A,然后加载视图 B,然后切换回 A,插件似乎丢失了。我需要在每个需要它的视图上加载 jQuery 还是应该从某个主要点全局导入它?如果是这样,我应该怎么做?

---更新---

结果插件并没有丢失,这是一个我没有意识到的捆绑/导出问题。

不过,aurelia 文档似乎并未就如何/在何处/何时导入 jQuery 和各种插件提供明确的建议。比如连jQuery本身,其他人这样导入:

import * as jQuery from 'jquery';

和其他类似的:

import $ from 'jquery';

这两种方式是一回事吗?

要导入jQuery,这样就够了:

import $ from 'jquery';

要导入一个 Jquery 插件,这取决于它导出的内容。通常,插件不会导出任何东西。因此,您只需导入文件:

import 'path/of/plugin';
//now you can $('#something').myPluginFunction();

要了解有关导入 类、函数等的更多信息,您应该阅读 ES6 导入规范。正如@Callum Linington 在他的评论中所说。

在我看来,Aurelia 没有特定的规则,"Aurelia way" 也没有导入。导入机制纯粹是Javascript.

有用的链接

https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import

https://babeljs.io/docs/learn-es2015/#modules

希望对您有所帮助!

对于任何对此感兴趣的人:毕竟有一个 "aurelia way"!看看here