使用 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
的类型。如果您从未导入它,所有模块加载器将永远不会捆绑 lib
。
只需放置 require('./lib.js');
,然后再使用 lib
变量。它应该有效。
我使用 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
的类型。如果您从未导入它,所有模块加载器将永远不会捆绑 lib
。
只需放置 require('./lib.js');
,然后再使用 lib
变量。它应该有效。