我正在尝试慢慢地将Browserify引入我的网站,但我不想重写所有的js,我不希望重复的jquery实例和我的Browserify构建捆绑的其他库.
如果我构建我的模块列出jquery作为外部依赖项,我如何将它指向我的全局jquery实例?另外目标是消除mylibs全局(例如下面的例子),所以我不想在我的模块中使用它.
这就是我想要做的事情(psudo-code).这将是我网站的回购 - 而不是模块的回购.该模块将与Bower一起安装:
var mylibs.jQuery = $.noConflict(); // global used by lots of existing code
module.exports = {
jquery: mylibs.jQuery // can be imported by my module as require('jquery')
};
Run Code Online (Sandbox Code Playgroud)
这样的事情就是我想要实现的目标.这可能吗?
我正在编写一个可以在网络浏览器中运行并使用 Node.JS 进行测试的打字稿代码。
我的客户端代码如下所示。
import * as WebSocket from 'ws';
export class SomeClient {
constructor(url) {
this.ws = new WebSocket(url);
}
send(data: any) {
this.ws.send(data);
}
}Run Code Online (Sandbox Code Playgroud)
我使用 mocha/chai 编写单元测试代码没有任何问题。
然而,在尝试捆绑此代码时,browserify 包含了所有“ws”节点模块,并且输出文件的大小几乎为 100kb。如果删除 import 'ws' 语句,捆绑文件大小将缩小到不到 1kb。但是,在这种情况下,Node.JS 测试会抱怨“WebSocket 未定义”错误。
我认为,这是因为 WebSocket 本身在 Web 浏览器中受支持,但在 Node.JS 中不受支持,并且需要外部“ws”模块才能正常运行。
如何制作一个对于 Web 浏览器来说尺寸最小但可以在 Node.JS 中使用的包???
browserify ×2
integration ×1
javascript ×1
jquery ×1
node.js ×1
performance ×1
typescript ×1
webpack ×1
websocket ×1