【问题标题】:Error: Could not find module jquery (Emberjs)错误:找不到模块 jquery (Emberjs)
【发布时间】:2014-04-18 10:00:28
【问题描述】:

当访问我的 ember 网站的主页时,页面没有加载并在控制台中给我这个错误:

Error: Could not find module jquery ember.js:251
TypeError: Ember.DataAdapter is undefined ember-data.js:4529
TypeError: Ember.Handlebars is undefined compiled-templates.js:1
TypeError: Ember.Route is undefined combined-scripts.js:19
ReferenceError: jQuery is not defined affix.js:126
ReferenceError: jQuery is not defined alert.js:98
ReferenceError: jQuery is not defined dropdown.js:154
ReferenceError: jQuery is not defined tooltip.js:386
ReferenceError: jQuery is not defined modal.js:246
ReferenceError: jQuery is not defined transition.js:56
ReferenceError: jQuery is not defined button.js:109
ReferenceError: jQuery is not defined popover.js:117
ReferenceError: jQuery is not defined carousel.js:217
ReferenceError: jQuery is not defined scrollspy.js:158
ReferenceError: jQuery is not defined collapse.js:179
ReferenceError: jQuery is not defined tab.js:135
"DEBUG: For more advanced debugging, install the Ember Inspector from https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/" ember.js:3521

我已经使用 yeoman 生成了一个 ember 项目。而我的一项更改(我不确定是哪一项,可能是 css 更改)导致此错误突然发生。

我已经使用bower list检查了依赖关系,如下所示,并且可以确认 jQuery 在那里:

myapp#0.0.0 /usr/local/src/myapp
├─┬ bootstrap-sass#3.0.2
│ └── jquery#2.1.0 (2.1.1-beta1 available)
├─┬ ember#1.5.0 (latest is 1.6.0-beta.2)
│ ├── handlebars#1.2.1 (1.3.0 available, latest is 2.0.0-alpha.2)
│ └── jquery#2.1.0 (latest is 2.1.1-beta1)
├─┬ ember-data#1.0.0-beta.7
│ └─┬ ember#1.5.0 (1.6.0-beta.2 available)
│   ├── handlebars#1.2.1
│   └── jquery#2.1.0
├── ember-mocha-adapter#0.1.2 (latest is 0.2.0)
├── handlebars#1.2.1 (latest is 2.0.0-alpha.2)
├── holderjs#2.3.2
└── jquery#2.1.0 (2.1.1-beta1 available)

我是 javascript 开发的新手,如果知道可能是什么问题,我将不胜感激。


更新:

在构建期间发生的一项繁重任务是获取从我的源文件夹复制的 index.html 文件(到 .tmp),并将其内容替换为对正确依赖项的引用:

Found a block:
        <!-- build:js(app) scripts/components.js -->
        <script src="bower_components/jquery/jquery.js"></script>
        <script src="bower_components/handlebars/handlebars.runtime.js"></script>
        <script src="bower_components/ember/ember.prod.js"></script>
        <script src="bower_components/ember-data/ember-data.prod.js"></script>
        <!-- endbuild -->
Updating config with the following assets:
    - app/bower_components/jquery/jquery.js
    - app/bower_components/handlebars/handlebars.runtime.js
    - app/bower_components/ember/ember.prod.js
    - app/bower_components/ember-data/ember-data.prod.js

这里显示给定的资产,包括 jquery 已加载。 Jquery 是 2.1.0,ember 是 1.5.0。

【问题讨论】:

    标签: javascript jquery html ember.js gruntjs


    【解决方案1】:

    答案是由于自上一个版本以来 jquery 依赖项发生了变化,jquery.js 文件现在位于 bower 安装的 dist 文件夹下。

    <script src="bower_components/dist/jquery/jquery.js"></script>
    

    我已将我的更改作为拉取请求提交ember yeoman generator on github(它已被合并)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-30
      • 2020-01-17
      • 1970-01-01
      • 2015-11-22
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      相关资源
      最近更新 更多