javascript - 从 browserify 包加载 JS 依赖项

标签 javascript node.js requirejs browserify

我有一个单页应用程序,其中包含基于 Browserify 和 Coffeescript 的 JS 包。

在某个用例中,我需要创建一个临时页面(与 SPA 分离),它需要访问一个库(具体来说是 Kendo),它是浏览器化 bundle 的一部分,并且临时页面将有一些简单的 JS以剑道为基础。

问题是如何在单页应用程序之外加载/访问该库(如果我尝试加载它,浏览器会说找不到该库)?

使用 RequireJS 可能是指定的一个选项 here 。但是,我不想仅出于此目的使用另一个库。我认为必须有一种方法可以在没有 requireJS 的情况下“要求”该库,因为它已经在单页应用程序中工作了。

请帮忙..谢谢!

最佳答案

打包时,Browserify 会将 ../moduleA/file.js 等模块路径重写为 23 等内部模块 ID。

每个require语句也会被重写,像这样的语句:

var moduleA = require('../moduleA/file.js');

变成这样:

var moduleA = require(23);

要访问特定库,您可以执行以下操作:

1)通过调试器找到内部ID,然后通过它需要模块(这是非常脆弱的,因为内部ID可能会随着每次构建而改变) 2) 将另一个文件打包到您的 bundle 中,其中包含以下内容:

var kendo = require('kendo');
window.kendo = kendo;

之后,您可以简单地以全局页面的形式访问剑道。

关于javascript - 从 browserify 包加载 JS 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258639/

相关文章:

javascript - nodejs获取请求回调多次命中

node.js - 全局安装 NPM 包时行为不一致

javascript - Coverage.json 不是用 Jasmine RequireJS 和 Istanbul 生成的

javascript - 如何在 Javascript/Backbone 中再次调用已加载的模块

javascript - Require.js 和可重用的 UI 函数

Javascript 在 if else 语句中执行多个 case

node.js - 如何在 Node ExpressJS 中的 get 请求上返回随机数据?

php - 使用 Javascript 读取 session 值

javascript - JSF 更改 h :SelectOneMenu in JavaScript 的 BeanValue

javascript - Node.js 和 JSON : Accessing object properties