【发布时间】:2018-02-21 20:42:00
【问题描述】:
我正在尝试使用 h264-converter npm 包 (https://www.npmjs.com/package/h264-converter)。
它是用 TypeScript 编写的。当我运行 npm install --save h264-converter 时,我会得到一个包含 .ts TypeScript 文件的文件夹,但它还包含已为您转译的同一文件夹中的 .js Javascript 文件。
但是,它附带的 .js 文件不能在浏览器中运行。它们包含Require(...) 函数和未定义的对象,如exports,导致它们无法在浏览器中运行。简单地将这些带有 <script> 标记的 .js 文件包含在内会导致错误。我做了一些阅读并尝试使用 browserify npm 包 (https://www.npmjs.com/package/browserify) 从不支持的 .js 文件创建在浏览器中工作的 .js 文件。我跑了
browserify "C:\...\h264-converter\dist\index.js" > "C:\...\h264-converter\dist\bundle.js"
就像 browserfiy 主页上的示例一样,它似乎运行没有错误(他们的示例使用 main.js 而不是 index.js,但我认为 index.js 具有相同的目的)。它创建了 bundle.js。但是,bundle.js 仍然 不会在浏览器中运行。 bundle.js 仍然有Require(...) 函数。
如何让 h264-converter npm 包附带的 .js 文件在浏览器中运行?
如果有帮助,我可以发布 h264-converter npm 包附带的一些 .js 文件的内容。谢谢。
【问题讨论】:
-
我刚刚注意到页面 npmjs.com/package/h264-converter 将 tslib npm 包列为依赖项 (npmjs.com/package/tslib)。幸运的是 tslib 没有任何进一步的依赖关系。如果用 tslib 做一些事情,browserify 会工作吗?
标签: javascript typescript npm browserify