如何在Require.js中引用捆绑的js文件(asp.net mvc4)?
Posted
技术标签:
【中文标题】如何在Require.js中引用捆绑的js文件(asp.net mvc4)?【英文标题】:How to reference the bundled js files (asp.net mvc4) in Require.js? 【发布时间】:2012-09-07 00:52:23 【问题描述】:我一直在学习约翰·帕帕关于 SPA 的复数课程。
在他的main.js
中,他为包中包含的每个 js 库命名。
(function ()
var root = this;
define3rdPartyModules();
function define3rdPartyModules()
// These are already loaded via bundles.
// We define them and put them in the root object.
define('jquery', [], function () return root.jQuery; );
define('ko', [], function () return root.ko; );
define('amplify', [], function () return root.amplify; );
define('infuser', [], function () return root.infuser; );
define('moment', [], function () return root.moment; );
define('sammy', [], function () return root.Sammy; );
define('toastr', [], function () return root.toastr; );
define('underscore', [], function () return root._; );
)();
但是这里的root
是什么?
通过这样做,我们可以在define
语句中调用这些短名称:
define('vm.session',
['ko', 'datacontext', 'config', 'router', 'messenger', 'sort'],
function (ko, datacontext, config, router, messenger, sort)
当前,我不知道该怎么做。所以我的工作define
声明很丑:
define('vm.admin.outfitters',
['/Scripts/lib/jquery-1.8.1.js', '/Scripts/lib/jsrender.js', ...], function()...
我知道一定有更好的方法。所有这些 js 文件都已包含在脚本包中。如何引用这些脚本?
【问题讨论】:
嗨@Blaise ...我正在尝试将捆绑和缩小与requirejs一起使用,但我不知道如何让它发挥作用!你有任何示例代码可以提供给我吗?谢谢。 【参考方案1】:RE:根
RequireJS 和 AMD 就绪库从全局范围中删除对象(例如 ko)。一些插件希望它们在全局范围内,因此我们可以填充这些插件或将对象弹出回全局范围。后者是这段代码中发生的事情。主要是为 Knockout 的插件完成的。
RE:您的定义语句
第一个参数是模块的名称,这样就可以了。第二个参数是 RequireJS 知道的模块列表。第三个参数是表示它的匹配变量。所以在你的代码中你可能有这样的东西......
define('vm.admin.outfitters',
['jquery', 'jsrender'], function($, jsrender)
【讨论】:
谢谢。现在看来我已经让它工作了。但这仍然让我感到困惑。顺便说一句,你的课程很有价值,但对我们中的许多人来说节奏有点太快了。 :-)以上是关于如何在Require.js中引用捆绑的js文件(asp.net mvc4)?的主要内容,如果未能解决你的问题,请参考以下文章
如何选择与webpack捆绑的node_modules dist flavor