我需要在非节点应用程序中使用NPM软件包(fit-file-parser)的功能。到目前为止,我已经尝试过
dist/
包含4个文件,每个文件都通过require()
使用模块。通常,它们彼此依赖,所以我认为我可以按照正确的顺序包含它们,但是其中一个取决于buffer
。binary.js
fit-parser.js
fit.js
messages.js
dist/
目录以生成一个package.bundle.js
文件,并包含 that 作为脚本标签。这似乎没有错误运行,但是浏览器中没有我需要实例化逻辑的主要功能。实际上,直接运行文件时出现的全局变量中的 none 都在包含捆绑文件之后出现。browserify fit-parser.js -o fit-parser.bundle.js
要使用此程序包,必须能够使用FitParser
实例化新的new FitParser({...options})
。此功能来自fit-parser
文件,但我似乎无法将其纳入浏览器的全局范围。
答案 0 :(得分:0)
NPM软件包通常是模块,因此它们通常不会影响全局。
通常您会做类似->
的操作const FitParser = require("fit-parser");
或
import {FitParser} from "fit-parser"
现代浏览器现在支持第二个选项,因此从理论上讲,您可以使用该选项,而不使用browserfy。
但是如果您想使用老式的方法,请使用全局方法。这就是--standalone {exportname}
选项的用途。 {exportname}
是您要在全球范围内称呼的。基本上,这是在脚本中进行window.FitParser = FitParser
的操作。