使用 tsify 捆绑打字稿和 protobuf.js

Bundle typescript and protobuf.js with tsify

我使用 google API 从 lib.proto 生成了 lib.js。在 Typescript 中,我将它与 declare var lib: any; 一起使用。我的问题是 browserify 忽略了 lib.js 因为它只是一个声明。

有什么方法可以将 lib.js 的正确位置添加到 bundle.js 中吗?

我的 tsify 命令:

browserify -p tsify src/main.ts > bundle.js

我的 tsconfig:

{
  "compilerOptions": {
    "declaration": false,
    "noImplicitAny": true,
    "target": "ES6",
    "removeComments": true,
    "module": "commonjs",
    "sourceMap": true,
    "rootDir": "src",
    "moduleResolution": "node"
  }
}

我的层次结构:

root
    src
        main.ts
        lib.proto
        lib.js
        lib.d.ts
    bundle.js
    index.html
    package.json
    tsconfig.json

声明:

declare var lib: any;
let p = lib.deserializeBinary(data);

lib.d.ts

问题是你只声明了一个lib的类型。如果您从未导入它,所有模块加载器将永远不会捆绑 lib

只需放置 require('./lib.js');,然后再使用 lib 变量。它应该有效。