相关疑难解决方法(0)

如何将Browserify与外部依赖项一起使用?

我正在尝试慢慢地将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)

这样的事情就是我想要实现的目标.这可能吗?

javascript performance integration jquery browserify

45
推荐指数
2
解决办法
3万
查看次数

使用在浏览器和 Node.JS 上运行的 TypeScript 编写 WebSocket 客户端

我正在编写一个可以在网络浏览器中运行并使用 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 中使用的包???

websocket node.js browserify typescript webpack

5
推荐指数
1
解决办法
1万
查看次数