首页
学习
活动
专区
圈层
工具
发布

自定义 npm 包读取外部 npm install 时传入的命令行参数

正常情况下我们安装一个 npm 包只需要执行 npm install 或者 yarn 就可以了,这基本上都是在发布环境。...当我们自定义的 npm 包需要在测试阶段根据环境动态设置一些参数时就显得有些麻烦了。如果能在 npm install 时传递一些参数来提供内部 npm 包读取就会变的比较方便。...接管 npm install 流程 当外部项目引入我们的自定义 npm 包时,必须要执行的就是 npm install your_package_name 来安装你的包。...接收环境变量 准备措施就绪后,我们通过 npm install 时传递参数就可以在 just-task.js 的 install 任务中读取到了,比如: npm install --download-url...再次打印 process.env 时就会打印出此变量: 图片 仔细看会发现,我们加的参数前被增加了 npm_config_ 前缀,并且中横线也被替换为下划线。

82030
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    选择第三方 NPM 包时的 5 条最佳实践

    每个开发人员都使用过 npm install 安装依赖。截止目前 NPM 平台上已经托管超过 190w 个包了,面对茫茫多的 package,在选择第三方 NPM 包时应该关注些什么?...我们可以用 license-checker[1] 工具来一次性检查项目中的 NPM 包是否都是合规的。 2....NPM trends[2] 可以同时比较多个包的下载量增长趋势,从而更直观地了解它们的受欢迎程度。...权衡包体积大小 对于前端来说,优化性能最直接的手段就是降低代码包大小。所以选择第三方包时,也要考虑它的包体积。 bundlephobia[3] 可以对包体积进行可视化分析。...总结 回顾一下选择第三方 NPM 包的 5 条最佳实践: 检查开源许可证 看贡献频率和下载量 权衡包体积大小 是否有大型开发团队在进行维护 评估安全性 在做选择时,我们最好能根据以上维度产出一份调研文档

    78320

    使用 React Hooks 时需要注意过时的闭包!

    这就是为什么 Hooks 如此具有表现力和简单,但是闭包有时很棘手。 使用 Hooks 时可能遇到的一个问题就是过时的闭包,这可能很难解决。 让我们从过时的装饰开始。...即使 value 变量在调用increment()时被增加多次,message变量也不会更新,并且总是保持一个过时的值 "Current value is 0"。 过时的闭包捕获具有过时值的变量。...2.修复过时的闭包 修复过时的log()问题需要关闭实际更改的变量:value的闭包。...在这里,闭包log()捕获到count变量为0。 之后,即使在单击Increase按钮时count增加,计时器函数每2秒调用一次的log(),使用count的值仍然是0。...4.总结 当闭包捕获过时的变量时,就会发生过时的闭包问题。 解决过时闭包的有效方法是正确设置React钩子的依赖项。或者,在失效状态的情况下,使用函数方式更新状态。 ~完,我是小智,我要去刷碗了。

    2.3K30

    【Npm原理】Npm 执行命令中的环境变量

    看一下 grunt.cmd 内容,大概就是 使用node 执行 gurnt 的包入口文件 ?...而 window 下 npm run 调用的也是这个 cmd 文件 npm 命令添加过程 npm 在 执行 install 时,会分析每个依赖包的 package.json 中的 bin 字段,并将包含的命令安装到.../node_modules/.bin 目录中 我们 现在来添加一下自己的包,来测试一下 在 自己创建的包的 package.json 中,给 bin对象 添加一个键值对 配置格式 如下: 命令名称:入口执行文件.../node_modules/.bin/ 目录添加到执行环境的 PATH 变量中 如果有些命令没有全局安装,只安装在了 当前项目的 node_modules 中 那么使用 npm run 一样可以调用命令...那么,我们就能确定啦,npm run 运行命令的时候,会把 bin 目录下的命令行包 添加到 执行环境变量中,而不用 全局安装 项目本地安装是否必要 有些工具,全局安装的同时,也必须本地项目安装 因为

    5.1K20

    了解可执行的NPM包

    了解可执行的NPM包 NPM是Node.js的包管理工具,随着Node.js的出现,以及前端开发开始使用gulp、webpack、rollup以及其他各种优秀的编译打包工具(大多数采用Node.js来实现...包,因为是一个简单的示例,所以不会真实的进行上传,会使用npm ln来代替npm publish + npm install。.../node_modules/ > npm rebuild 因为绕过了NPM的安装步骤,一定要记得npm rebuild来让NPM知道我们的包注册了bin 这时候我们修改脚本文件,在脚本中添加当前执行目录的输出.../server.js" } } 两者混用会带来的问题 这样的项目在你本地使用是完全没有问题的,但是如果有其他的同事需要运行你的这个项目,在第一步执行npm start时就会出异常,因为他本地可能并没有安装...这里也可以稍微提一下Node中引入全局模块的一些事儿,我们都知道,通过npm install安装的模块,都可以通过require('XXX')来直接引用,如果一些第三方模块需要引入某些其他的模块,那么这个模块也需要存在于它所处目录下的

    1.5K10

    发布你自己的npm包

    特别是React,Angular和其他前端库主导的网络和node.js接管的服务器端,NPM软件包比以往任何时候都更受欢迎。...发布的步骤 样板文件 为什么? 当你在多个项目中工作时,你经常发现自己在多个项目中重复简单的事情。举个例子,以你想要的方式解析日期并对其进行格式化。...npm init (根据提示)输入有意义的包名称和包的相应详细信息。这将为你创建package.json。所有NPM包都需要main键。这定义了我们库的入口点。...测试 你需要进行全面测试,以确保你的代码按照预期工作。有各种测试设置。你可以使用最适合你需求的。...样板文件 我有一些我自己的npm软件包,并在线研究了创建NPM软件包的所有最佳实践,并专门为此创建了样板文件。它具有预先设置的所有功能,以便你可以在几秒钟内开始使用。

    45230

    学会发布自己的npm包

    准备工作 在npm官网注册账号,要记住用户名/邮箱/密码 三个信息,后面需要用到 需要发布的项目应该有相应的git地址 包括但不限于github 最好在项目中使用gulp来把跑测试用例和打包的过程进行自动化...,方便发布 操作流程 在修改完成后,首先本地提交,并执行单元测试(npm run unit) 如果测试通过,则可以打包出压缩后的成品代码(npm run build) 此时进入预发布流程,可以先通过npm...whoami来确认登录信息,如果当前未登录,则需要npm login来输入用户名/密码/邮箱来登录 确定处于登录状态后,npm version from-git把本地的npm包版本号更新到最新 使用npm...push && git push --tags同步到远程 执行npm publish将npm最新版本的包进行发布。...同步最新版本 需要在用到此npm包的项目中的package.json中更改此包的最新版本号,然后执行npm i来更新包的代码 之后就可以在最新包的基础上进行开发

    863120

    npm发布自己的插件包

    发布一个npm插件包,不仅能提升个人影响力,还能促进技术交流与共享。本文将手把手教你如何发布npm包,同时指出过程中常见的问题、易错点及避免策略,并附带实用的代码示例。 准备工作 1....发布包 一切就绪后,运行以下命令发布你的包: npm publish 首次发布可能需要等待一段时间,发布成功后,你的包就会出现在npm官网上。 常见问题与避免策略 1....权限问题 问题:发布时遇到权限错误,如“you do not have permission”。 避免策略:确保你使用正确的npm账号登录,且该账号对包名有权限。...如果是团队协作,确保包名未被他人占用。 2. 版本冲突 问题:发布时提示版本已存在。 避免策略:每次发布前检查并更新版本号。确保本地package.json的版本与npm仓库中不冲突。 3....记住,持续维护和优化你的包,及时响应用户反馈,是提升包质量和受欢迎度的关键。祝你在npm之旅上取得成功!

    25610

    创建现代npm包的最佳实践

    技术一直在变化,我们的流程和做法也需要跟上这些变化。因此,虽然npm已经有12年的历史了,但围绕 npm 包创建的做法应该更现代。...在package.json 取一个名称,对应 name 字段 为该包编写你的代码 创建 npm 账户 为了能够让我们的 npm 包供他人使用,需要一个npm账户。...注意:--access=public对于作用哉内的包(@clarkio/modern-npm-package)是需要的,因为它们默认是私有的。...,为使用和发布做准备 这就是使用 TypeScript 构建 npm 包所需要做的所有设置,它同时支持 CommonJS 和ECMAScript模块格式。...设置和添加测试 为了对代码的行为和结果有信心,我们需要有一个测试过程。测试迫使在第一次创建代码时,在happy-path 之外,以不同的方式思考代码的功能。

    2.4K10
    领券