首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Browserify编译NPM软件包

用Browserify编译NPM软件包
EN

Stack Overflow用户
提问于 2019-04-30 15:34:05
回答 1查看 2.1K关注 0票数 0

我需要在一个非节点应用程序中使用NPM包(fit-文件解析器)的功能。到目前为止,我已经试过

  1. 拉下包,构建它,并将输出包作为脚本标记包括在内。这里的问题是构建的包dist/包含4个文件,每个文件通过require()使用模块。大多数情况下,它们是相互依赖的,所以我想我可以把它们按正确的顺序包括进去,但是其中一个依赖于buffer
代码语言:javascript
复制
binary.js
fit-parser.js
fit.js
messages.js
  1. 通过Browserify运行dist/目录以生成一个package.bundle.js文件,并将该文件作为脚本标记包括在内。这似乎没有错误地运行,但是我需要实例化所需的逻辑的主要函数不在浏览器中。实际上,在包含包文件之后,直接运行文件时出现的任何全局文件都不存在。
代码语言:javascript
复制
browserify fit-parser.js -o fit-parser.bundle.js

要使用这个包,需要能够使用FitParser实例化一个新的new FitParser({...options})。此函数来自fit-parser文件,但我似乎无法将其纳入浏览器的全局范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-30 21:17:08

NPM包通常是模块,因此通常不会影响全局。

通常你会做一些像->这样的事情

代码语言:javascript
复制
const FitParser = require("fit-parser");

代码语言:javascript
复制
import {FitParser} from "fit-parser"

第二个选项现在在现代浏览器中得到了支持,因此理论上您可以使用该选项而不是使用browserfy。

但如果你想用老式的方式,用一个全球性的。这就是--standalone {exportname}选项的用途。{exportname}就是你想在全球范围内称之为它的东西。基本上,它是在脚本中做一个window.FitParser = FitParser

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55924338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档