我有一个单页应用程序,它包含一个基于Browserify和Coffeescript的JS包。
在某个用例中,我需要创建一个adhoc页面(从SPA中分离),它需要访问一个库(特定于Kendo),这是浏览器化bundle的一部分,adhoc页面将有一些简单的JS基于剑道。
问题是如何在单页应用程序之外加载/访问库(如果我尝试加载它,浏览器会说找不到库)?
使用RequireJS可以是指定here的选项。但是,我不想仅仅为此目的使用另一个库。我认为必须有一种方法来要求"没有requireJS的库,因为它已经在单页应用程序中工作。
请帮忙..谢谢!
答案 0 :(得分:1)
Browserify会在打包时将您的模块路径(如../moduleA/file.js
)重写为内部模块ID 23
。
每个require语句也将被重写,如下所示:
var moduleA = require('../moduleA/file.js');
成为这个:
var moduleA = require(23);
要访问特定的库,您可以执行以下操作:
1)通过调试器找到内部id,然后通过它需要模块(这非常脆弱,因为内部id可能会随着每次构建而改变) 2)使用以下内容将另一个文件打包到您的包中:
var kendo = require('kendo');
window.kendo = kendo;
之后,您可以简单地将kendo作为页面全局访问。