标签: requirejs

使用带有骨干的把手

我正在学习Backbone/Handlebars/Require.我已经在网上查看了所有内容 - 是否有任何可以指导我的教程或网站,这将为使用把手而不是下划线提供有用的信息?

requirejs backbone.js handlebars.js

49
推荐指数
1
解决办法
5万
查看次数

使用Require.js从CDN加载Bootstrap

Bootstrap在CDN中分发

http://www.bootstrapcdn.com/

  • 是否可以使用Require.JS 2.x(shimmed或原生AMD)加载Bootstrap?

  • 如何使用Require.js直接从CDN URL加载Bootstrap或任何缩小的JS

cdn requirejs twitter-bootstrap

49
推荐指数
1
解决办法
2万
查看次数

RequireJS - 垫片中"exports"属性的目的是什么

垫片中"出口"物业的目的是什么?真的需要吗?

requirejs.config({
    shim: {
        'backbone': {
            deps: ['underscore', 'jquery'],
            exports: 'Backbone'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我问,因为它似乎是多余的 - 当模块包含在依赖列表中时,我们将再次指定导出的名称作为函数参数:

define(['backbone'], function (Backbone) {
  return Backbone.Model.extend({});
});
Run Code Online (Sandbox Code Playgroud)

requirejs

49
推荐指数
2
解决办法
4万
查看次数

RequireJS库的定义说明

我开始阅读有关RequireJS的几个教程.在他们中没有一个是"define"关键字为我解释得令人满意.有人可以帮我解决以下问题:

define(
  ["Models/Person", "Utils/random", "jquery"], 
  function (Person, randomUtility, $) {..}
)  
Run Code Online (Sandbox Code Playgroud)

什么是"定义"?是否定义了一个带有数组和内部匿名函数的函数?或者是别的什么?有人能给我更多关于这种定义的信息吗?

另外:谢谢nnnnnn和pradeek的回答.在欧洲,当我发布问题的那天晚上2:30.也许因此我没有意识到这是一个简单的函数调用.

javascript requirejs

48
推荐指数
2
解决办法
3万
查看次数

指定的版本无效,facebook共享插件错误

我想为我正在使用的网络应用程序使用facebook共享插件,我只需要基本的共享按钮.该应用程序使用requirejs来加载javascript,所以我按照操作方法将facebook api url更改为在facebook docs上的代码片段中找到的那个.这不起作用,并且sdk抛出错误invalid version specified.这就是我的文件的样子.

main.js

require.config({
  shim: {
    'facebookshare' : {
      exports: 'FB'
    }
  },
  paths: {
    'facebookshare':  "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0"
 }
});
require(['fb']);
Run Code Online (Sandbox Code Playgroud)

fb.js

define(['facebookshare'], function(facebook) {
   document.body.innerHTML += '<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>';
});
Run Code Online (Sandbox Code Playgroud)

仅包含facebook共享插件和requirejs的最佳方法是什么?

我提到了以下问题,但没有一个提供具体的解决方案.未捕获的错误:未指定版本版本错误.

javascript facebook requirejs facebook-javascript-sdk

48
推荐指数
3
解决办法
5万
查看次数

Require.js伤害了我的大脑.关于它加载脚本/模块的方式的一些基本问题

我们假设这是我的config.js或main.js:

require.config({
    // paths are analogous to old-school <script> tags, in order to reference js scripts
    paths: {
        jquery: "libs/jquery-1.7.2.min",
        underscore: "libs/underscore-min",
        backbone: "libs/backbone-min",
        jquerymobile: "libs/jquery.mobile-1.1.0.min",
        jquerymobilerouter: "libs/jquery.mobile.router.min"
    },
    // configure dependencies and export value aliases for old-school js scripts
    shim: {
        jquery: ["require"],
        underscore: {
            deps: ["jquery"],
            exports: "_"
        },
        backbone: {
            deps: ["underscore", "jquery"],
            exports: "Backbone"
        },
        jquerymobilerouter: ["jquery", "backbone", "underscore"],
        jquerymobile: ["jquery", "jquerymobilerouter", "backbone", "underscore"]
    }
});
require(["jquery", "backbone", "underscore", "app/app.min", "jquerymobilerouter", "jquerymobile"], function ($, Backbone, _, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery module requirejs

45
推荐指数
2
解决办法
1万
查看次数

如何使用RequireJS加载Google Maps API?

我正在努力用requireJS加载gmaps api.这就是我尝试过的:

requirejs.config({
    urlArgs: "noCache=" + (new Date).getTime(),
    paths : {
        "jquery": "vendor/jquery-1.8.2.min",
        "bootstrap": "vendor/bootstrap.min",      
        "underscore": "libs/underscore-min",
        "backbone": "libs/backbone-min",    
        "template": "libs/template",
        "gmaps": "http://maps.google.com/maps/api/js?v=3&sensor=false"
    },
    shim: {
        'backbone': {
            deps: ['jquery', 'underscore'],
            exports: 'Backbone'
        },
        'underscore': {
            exports: '_'
        },
        'bootstrap': {
            deps: ['jquery']
        },
        'gmaps': {
            deps: ['jquery']
        },
        'main':{
            deps: ['jquery','gmaps']   
        }
    }
});

require(["main"], function (main) {})
Run Code Online (Sandbox Code Playgroud)

但是当我尝试实例化我得到的地理编码器时,在main.js里面,undefined不是函数"错误.

var geocoder = new google.maps.Geocoder();
Run Code Online (Sandbox Code Playgroud)

任何想法我可能做错了什么?

google-maps-api-3 requirejs js-amd

45
推荐指数
3
解决办法
3万
查看次数

仅在需要时动态注入模块

我正在将Require.js与Angular.js结合使用.

某些控制器需要巨大的外部依赖性,而其他控制器则不需要,例如,FirstController需要Angular UI Codemirror.这是额外的135 kb,至少:

require([
  "angular",
  "angular.ui.codemirror" // requires codemirror itself
], function(angular) {
  angular.module("app", [ ..., "ui.codemirror" ]).controller("FirstController", [ ... ]);
});
Run Code Online (Sandbox Code Playgroud)

每次我的页面加载时我都不想要包含指令和Codemirror lib,只是为了让Angular满意.
这就是为什么我现在只在路线被击中时加载控制器,就像这里所做的那样.

但是,当我需要类似的东西时

define([
  "app",
  "angular.ui.codemirror"
], function(app) {
  // ui-codemirror directive MUST be available to the view of this controller as of now
  app.lazy.controller("FirstController", [
    "$scope",
    function($scope) {
      // ...
    }
  ]);
});
Run Code Online (Sandbox Code Playgroud)

如何告诉Angular ui.codemirror在app模块中注入模块(或任何其他模块)?
我不在乎它是否是一种完成此操作的hackish方式,除非它涉及修改外部依赖项的代码.

如果它有用:我正在运行Angular 1.2.0.

requirejs angularjs

44
推荐指数
2
解决办法
6万
查看次数

require.js:访问所有已加载的模块

有没有办法访问require.js的所有已加载模块?

背景:
我想init()在加载所有这些函数后自动调用我的javascript-modules函数,请参阅require.js + backbone.js:如何构造具有初始化函数的模块? 如果没有require.js,我会遍历我自己的模块存储并调用每个init()函数.
我现在想用require.js做这件事.我知道调用my_custom_init_function_favoritecolor_petname_love123每个加载的模块(包括外部库)是危险的.我希望这比手动保持所有模块的列表(以及这些模块的要求)是最新的麻烦少.忘记一个模块init()比具有我的自定义函数名的第三方库更有可能(尽管后者可能更难调试).

或者有没有人更好地了解如何实现这一目标?

javascript requirejs js-amd

43
推荐指数
2
解决办法
2万
查看次数

在require.js data-main上过期缓存

我正在使用require.js和r.js打包我的AMD模块.我通过以下语法使用jquery和requirejs:

<script data-main="/js/client" src="/js/external/require-jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

这一切都适用于前后包装,但我遇到了很多问题,其中chrome和mobile safari持有client.js的缓存版本.我想为client.js添加一个缓存器,但我似乎无法弄清楚如何使用上面的语法来实现它.

我尝试了一些变化:

<script data-main="js/client.js?b=busted" src="/js/external/require-jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

但现在需要尝试从而获取client.js /,而不是/js404s.

我也尝试过添加

urlArgs : "bust="+new Date().getTime()
Run Code Online (Sandbox Code Playgroud)

require.config,但似乎没有效果.

我也尝试添加相同的值app.build.js,但当它在那里时,r.js不再连接我的js文件,只是uglifies它们.

破坏require.js数据主脚本缓存的正确语法是什么?

javascript caching amd browser-cache requirejs

42
推荐指数
1
解决办法
2万
查看次数