requirejs, almond:一个用almond构建的独立模块会加载所有依赖项,但不会执行主代码
requirejs, almond: A stand alone module built with almond loads all dependencies, but the main code is not executed
我试图用杏仁建立一个独立的模块,这是我的设置。问题在下面。
缩写目录结构为:
|-static
|-core
|-js
|-require.js
|-almond.js
|-common.js
|-app.build.js
|-app
|-myApp.js
|-vendor
|-js
|-jquery.js
|-bootstrap.js
|-fancybox.js
common.js的缩略内容:
require.config({
baseUrl: "/static/core/js",
paths: {
'jquery':'../../vendor/jquery/1.7.2/jquery',
'bootstrap':'../../vendor/bootstrap/2.2.2/js/bootstrap',
'fancybox':'../../vendor/fancybox/2.0.6/jquery.fancybox',
},
shim: {
'bootstrap':['jquery'],
'fancybox': ['jquery'],
'app/messages': ["jquery"],
},
waitSeconds: 12
});
app/myApp.js的简短内容(是的,我知道我污染了全局命名空间):
define(function (require) {
var $ = require('jquery');
require('fancybox');
require('app/messages');
//all myApp's code here
console.log('Is this thing on?')
});
我的构建文件:app.build.js:
mainConfigFile: 'common.js',
removeCombined: true,
skipDirOptimize: true,
wrapShim: false,
wrap: false,
modules: [
{
name: 'almond',
include: ['app/myApp'],
out: ['myApp.js'
},
],
UPDATE (add html):我的django模板底部的HTML:
{% require_module 'myApp' %}
模板标签翻译成:
<script src="/static/core/js/myApp.js"></script>
当我执行构建,我得到完整的构建与杏仁,所有myApp的依赖关系,和所有myApp的代码。但是,依赖项加载并执行它们的代码,而myApp的代码不执行。
我希望在myApp的依赖项加载后,我会看到"这个东西在吗?"(见上面的app/myApp.js),但没有骰子…
注意:我实际上是使用django-require来构建独立模块,但我认为app.build.js相当接近它正在做的事情,并考虑到最终的myApp.js文件包含所有必要的部分,它不应该有所不同。
尝试将定义类更改为require类:
require( ["jquery", "fancybox", "app/messages"], function ($, fancybox, messages) {
//all myApp's code here
console.log('Is this thing on?')
});
放置包含您的require的文件。在使用require的任何其他文件之上的头部配置。然后确保包含新require函数的文件在HTML中以供引用。
至少在过去我是这样使用require的
相关文章:
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 为什么Airbnb风格指南说不鼓励依赖函数名称推断
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 如何将本地依赖项添加到npm项目中
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- jquery中的复选框依赖项
- 为什么react/redux前端项目在package.json中包含生产依赖项
- 单元测试依赖关系没有被嘲笑
- 依赖<选择>HTML和JavaScript菜单
- FRP 中 EventStreams 的循环依赖关系
- 节点模块依赖关系
- 使用多个依赖项加载只进行一次AJAX调用
- 限制npm依赖模块's require(隔离)的用法
- AngularJS依赖注入定时问题
- 在Meteor中使用具有依赖关系的NPM包
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- 依赖于缓慢加载javascript的UI
- AngularJS或jquery中的依赖级联下拉框列表
- r.js, almond:两个包含almond的.js文件是否可能共享依赖关系?
- requirejs, almond:一个用almond构建的独立模块会加载所有依赖项,但不会执行主代码