java require_Require.js:从构建加载文件但不执行它

我正在开发一个结合了ember.js和jquery-mobile.js的应用程序

为了使这两者相互配合,我需要在初始化Ember之后加载JQM . 所以我在我的主文件app.js中使用以下代码:

require.config({

baseUrl: 'resources/js/',

waitSeconds: 200,

paths: {

text: 'lib/require/text',

ember: 'lib/ember-1.5.1.min',

jquery: 'lib/jquery-2.1.1.min',

mobile: 'lib/jquery.mobile-1.4.2.min',

handlebars: 'lib/handlebars-1.3.0.min',

},

shim: {

'ember': {

deps: ['handlebars', 'text', 'jquery']

}

}

});

define('app', [

'jquery',

'app/many/files',

'ember'

], function($,

ManyFiles) {

$(document).bind('mobileinit', function() {

$.mobile.ajaxEnabled = false;

$.mobile.pushStateEnabled = false;

$.mobile.linkBindingEnabled = false;

$.mobile.hashListeningEnabled = false;

$.mobile.ignoreContentEnabled = true;

});

App = Ember.Application.create({

ready: function() {

require(['mobile']);

}

});

// Initialize stuff...

}

(如您所见,只有当ember应用程序准备好时才加载jqm)

这很好用,但是当我将所有文件构建到一个缩小的js文件中时,我遇到了这个问题:一旦代码需要JQM,我就会在网络选项卡上看到一个http调用,它会 grab jquery-mobile.js

当然这是一个令人不快的过程 . 我能想到的唯一解决方案是加载JQM以及所有其他依赖项但不执行它 . 然后,代码可以执行JQM而不需要文件 .

但是我对require.js没有经验,我不知道如何做到这一点 . 任何帮助表示赞赏 . 还可以理解实现相同目的的其他方法

谢谢

EDIT: 为什么Jmber需要在Ember之后加载?因为JQM在DOM上添加了干扰ember的包装器,类和事件......事情变得非常糟糕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
index.js:4130 Cannot find module './uni_modules/uview-ui/components/u-navbar/u-navbar.vue' Qld0 @ index.js:4130 __webpack_require__ @ index.js:854 fn @ index.js:151 JLrY @ index.js:1430 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ kyBj:2 kyBj @ index.js:4897 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ main.js:36 Tglg @ index.js:4322 __webpack_require__ @ index.js:854 fn @ index.js:151 1 @ index.js:1057 __webpack_require__ @ index.js:854 checkDeferredModules @ index.js:46 (anonymous) @ index.js:994 (anonymous) @ index.js:997 index.js:4131 1. 排查组件名称拼写是否正确 Qld0 @ index.js:4131 __webpack_require__ @ index.js:854 fn @ index.js:151 JLrY @ index.js:1430 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ kyBj:2 kyBj @ index.js:4897 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ main.js:36 Tglg @ index.js:4322 __webpack_require__ @ index.js:854 fn @ index.js:151 1 @ index.js:1057 __webpack_require__ @ index.js:854 checkDeferredModules @ index.js:46 (anonymous) @ index.js:994 (anonymous) @ index.js:997 index.js:4132 2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom Qld0 @ index.js:4132 __webpack_require__ @ index.js:854 fn @ index.js:151 JLrY @ index.js:1430 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ kyBj:2 kyBj @ index.js:4897 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ main.js:36 Tglg @ index.js:4322 __webpack_require__ @ index.js:854 fn @ index.js:151 1 @ index.js:1057 __webpack_require__ @ index.js:854 checkDeferredModules @ index.js:46 (anonymous) @ index.js:994 (anonymous) @ index.js:997 index.js:4135 3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件 Qld0 @ index.js:4135 __webpack_require__ @ index.js:854 fn @ index.js:151 JLrY @ index.js:1430 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ kyBj:2 kyBj @ index.js:4897 __webpack_require__ @ index.js:854 fn @ index.js:151 eval @ main.js:36 Tglg @ index.js:4322 __webpack_require__ @ index.js:854 fn @ index.js:151 1 @ index.js:1057 __webpack_require__ @ index.js:854 checkDeferredModules @ index.js:46 (anonymous) @ index.js:994 (anonymous) @ index.js:997 Request.js:53 Uncaught TypeError: f is not a function at Request.setConfig (Request.js:53:23) at Object.install (http.interceptor.js:4:24) at Vue.use (chunk-vendors.js:7461:22) at eval (main.js:160:5) at Object.Tglg (index.js:4322:1) at __webpack_require__ (index.js:854:30) at fn (index.js:151:20) at 1 (index.js:1057:18) at __webpack_require__ (index.js:854:30) at checkDeferredModules (index.js:46:23)解决
最新发布
07-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值