我需要在一个非节点应用程序中使用NPM包(fit-文件解析器)的功能。到目前为止,我已经试过
dist/包含4个文件,每个文件通过require()使用模块。大多数情况下,它们是相互依赖的,所以我想我可以把它们按正确的顺序包括进去,但是其中一个依赖于buffer。binary.js
fit-parser.js
fit.js
messages.jsdist/目录以生成一个package.bundle.js文件,并将该文件作为脚本标记包括在内。这似乎没有错误地运行,但是我需要实例化所需的逻辑的主要函数不在浏览器中。实际上,在包含包文件之后,直接运行文件时出现的任何全局文件都不存在。browserify fit-parser.js -o fit-parser.bundle.js要使用这个包,需要能够使用FitParser实例化一个新的new FitParser({...options})。此函数来自fit-parser文件,但我似乎无法将其纳入浏览器的全局范围。
发布于 2019-04-30 21:17:08
NPM包通常是模块,因此通常不会影响全局。
通常你会做一些像->这样的事情
const FitParser = require("fit-parser");或
import {FitParser} from "fit-parser"第二个选项现在在现代浏览器中得到了支持,因此理论上您可以使用该选项而不是使用browserfy。
但如果你想用老式的方式,用一个全球性的。这就是--standalone {exportname}选项的用途。{exportname}就是你想在全球范围内称之为它的东西。基本上,它是在脚本中做一个window.FitParser = FitParser。
https://stackoverflow.com/questions/55924338
复制相似问题