You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ember CLI 1.13项目是否需导入jQuery?能否禁用默认jQuery?

Ember CLI 1.13.x中jQuery的集成问题解答

我来帮你理清这个旧版本Ember里jQuery的情况哈:

1. 为什么移除import $ from 'jquery'后代码还能正常运行?

在Ember CLI 1.13.x这个版本里,jQuery是默认全局自动注入的,完全不需要手动导入就能使用:

  • 它会自动把$挂载到全局的window对象上,所以你直接写$()就能调用jQuery;
  • Ember的核心类(比如组件、控制器、路由)还会自动绑定this.$()方法,让你在类内部也能直接访问当前元素的jQuery实例。
    你之前加的那些import语句其实都是冗余的,移除后自然不会影响功能。

2. 这个版本是否必须导入jQuery?

答案是完全不需要。刚才也说了,这个版本的Ember默认就把jQuery作为核心依赖集成了,全局可用,手动导入只是多此一举。

3. 能不能禁用默认集成的jQuery?

可以,但非常不建议,而且配置方式和新版本Ember不一样:

  • 1.13.x还没有optional-features.json这个配置文件,要禁用的话需要修改ember-cli-build.js,通过vendorFiles把jQuery排除:
module.exports = function(defaults) {
  var app = new EmberApp(defaults, {
    vendorFiles: {
      'jquery.js': null
    }
  });

  // 其他项目配置...

  return app.toTree();
};
  • 但要注意:这个版本的Ember核心功能严重依赖jQuery(比如DOM操作、事件绑定、视图渲染),禁用后大概率会导致大量内置功能失效,比如组件的this.$()无法使用、路由里的DOM操作报错,甚至页面渲染异常。除非你已经完全重写了所有依赖jQuery的代码,否则不要尝试禁用。

内容的提问来源于stack exchange,提问作者escapeVelocity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:46:01