首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个接一个的导入库

一个接一个的导入库
EN

Stack Overflow用户
提问于 2017-03-12 18:22:41
回答 1查看 306关注 0票数 4

因此,我对Aurelia和JavaScript导入语法有点陌生,我正在开发一个需要jQuery、UI、draggabledroppable的应用程序。由于这些小部件不能在移动设备上工作,所以我需要使用jQuery UI触袋库。

我遇到的问题是以下控制台错误:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'mouse' of undefined

它显然是在jQuery UI之前加载jQuery UI触摸袋库时出现的。

以下是如何设置我的aurelia.json文件:

代码语言:javascript
复制
"dependencies": [
      // ....
      {
        "name": "jquery",
        "path": "../node_modules/jquery/dist/",
        "main": "jquery"
      },
      {
        "name": "jquery-ui",
        "path": "../node_modules/jquery-ui-dist/jquery-ui",
        "deps": ["jquery"]
      },
      {
        "name": "touch-punch",
        "path": "../node_modules/jquery-ui-touch-punch/jquery.ui.touch-punch",
        "deps": ["jquery-ui"]
      }
    ]

在我看来,这些进口产品的模型是:

代码语言:javascript
复制
import 'jquery-ui';
import 'touch-punch';

由于某种原因,一切都很好,但我仍然有控制台错误。

如何确定jQuery触摸袋库在jQuery UI之前已经加载,如果是这样的话,如何确保在它之后加载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-13 17:11:17

似乎正在发生的是模块加载器同时导入两个脚本,而touch-punch赢得了比赛,因此,它首先被加载。我相信这个问题是奥雷利亚无法控制的。

然而,jquery-ui-touch-punch并不是为模块化系统而设计的。导入它的最佳方法是使用<script>标记或将其放在包的前面。考虑到jquery-ui-touch-punch依赖于依赖于jqueryjquery-ui,解决方案将放在所有这些解决方案的前面。如下所示:

代码语言:javascript
复制
"name": "vendor-bundle.js",
"prepend": [
  "node_modules/bluebird/js/browser/bluebird.core.js",
  "node_modules/aurelia-cli/lib/resources/scripts/configure-bluebird.js",
  "node_modules/jquery/dist/jquery.js",
  "node_modules/jquery-ui-dist/jquery-ui.js",
  "node_modules/jquery-ui-touch-punch/jquery.ui.touch-punch.js",
  "node_modules/requirejs/require.js"
],
"dependencies": [
   ...
]

然后,从dependencies中删除它们并删除import语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42751323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档