当前位置: 首页 > news >正文

网站快速排名服务商注册上海商贸公司

网站快速排名服务商,注册上海商贸公司,专业柳州网站建设公司,设计投稿的网站有什么Lerna 1 #xff09;文档 Lerna 文档 https://www.npmjs.com/package/lernahttps://lerna.js.org [请直达这个链接] 使用 Lerna 帮助我们做包管理#xff0c;并不复杂#xff0c;中间常用的命令并不是很多这里是命令直达#xff1a;https://lerna.js.org/docs/api-referen…Lerna 1 文档 Lerna 文档 https://www.npmjs.com/package/lernahttps://lerna.js.org [请直达这个链接] 使用 Lerna 帮助我们做包管理并不复杂中间常用的命令并不是很多这里是命令直达https://lerna.js.org/docs/api-reference/commands 2 使用 现在我们开始使用 Lerna, 首先创建目录 lerna安装并查看 lerna 版本 $ npx lerna -v 这里没有安装会自动安装 lerna目前lerna的版本是8.1.2在 lerna 这个目录下执行 $ npx lerna init这时候项目初始化完成了就会多处一个 lerna.json 这个是lerna配置文件现在基于 lerna 创建 a包 $ npx lerna create a 一路回车现在出现了 packages/a 包里面有一系列配置同workspace使用一致在使用a的时候把a加到分组中, 修改 a/package.json中的namename:somegroup/lerna-a, 并且把 a/lib/a.js 修改成 a/lib/index.js同步 a/package.json 中 main: lib/index.js, 同时修改成ESM的形式 type:module修改 a/lib/index.js 的代码use strict;export default function() {return Hello from a; }这样a包就调试好了, 可以在 lerna/package.json 中看到workspaces: [packages/* ],这里的worksapces 使用了通配符*的方式 不同于 npm的workspace添加依赖的方式lerna提供的方式是$ npx lerna add -h注意这里 The “add” command was removed by default in v7, and is no longer maintained.所以新提供的方式是 https://lerna.js.org/docs/legacy-package-management#replacing-your-usage-of-lerna-add现在给a包添加chalk依赖: $ npm i chalk -w somegroup/lerna-a 注意这里a包的name变化了所以安装方式也要如此这里a包就绪之后就可以着手创建b包了在创建的时候可以看下一些辅助参数 $ npx lerna create -h可以看到常用的有--access When using a scope, set publishConfig.access value [可选值: public, restricted] [默认值: public] --bin Package has an executable. Customize with --bin executableName [默认值: name] --es-module Initialize a transpiled ES Module [布尔]这样在创建b包的时候就可以这样 $ npx lerna create b --access public 回车注意name配置为somegroup/lerna-b创建 cli 包的时候就可以这样 $ npx lerna create cli --access public --bin --es-module 回车注意name配置为somegroup/lerna-cli对于b包 修改 b/lib/b.js 为 b/lib/index.js, 同时修改 b/package.json 中的 main: lib/index.js 和 type: module 注意这里和 cli包的区别在于生成b包的时候 --es-module 没有添加所以要手动添加这个 type: module 修改 b/lib/index.js 的内容use strict;export default function () {return Hello from b; }对于 cli 包 修改 cli/package.json 中的 bin属性为bin: { lerna-cli: bin/cli.js }, main属性 main:src/cli.js 修改 cli/bin/cli.js 中 #!/usr/bin/env nodeuse strict;import cli from ../src/cli.js;cli().parse(process.argv.slice(2));修改 src/cli.js import factory from yargs/yargs;export default function cli(cwd) {const parser factory(null, cwd);parser.alias(h, help);parser.alias(v, version);parser.usage($0,TODO: description,yargs {yargs.options({// TODO: options});});return parser; }回到最外层 lerna 目录尝试连接下npx lerna link发现报错 报错内容为The “link” command was removed by default in v7, and is no longer maintained.解决方案https://lerna.js.org/docs/legacy-package-management#replacing-your-usage-of-lerna-bootstraplerna-link 使用 $ npm i -ws 这样三个包都会在 lerna/node_modules/somegroup 组中会被同步这样可以替代之前lerna的link命令 npm i -ws 是更新所有 workspaces 中的依赖 现在在 lerna/package.json 中的最外层加上一个 cli 的 scripts{scripts: {cli: lerna-cli} }执行 $ npm run cli这样cli 包就可以直接在 lerna 目录下执行了, 验证 $ npm run cli -v 得到 10.2.3 这里得到的是 npm 的版本 至此基于 lerna 的脚手架的功能框架完成目前并没有提供什么实质的功能现在要在 cli 包中使用a包和b包在 lerna 目录下执行 $ npm i somegroup/lerna-a somegroup/lerna-b -w packages/cli在 lerna/packages/cli/bin/cli.js 中使用#!/usr/bin/env nodeuse strict;import cli from ../src/cli.js; import a from somegroup/lerna-a; import b from somegroup/lerna-b;console.log(a()); console.log(b());cli().parse(process.argv.slice(2));执行 cli$ npm run cli 可以看到打印出了a, b包中的方法提供的字符串 3 测试 使用 lerna 添加测试脚本 $ npx lerna run test 它会把 packages 目录中所有 test 脚本全部执行如果要单独测试某个包比如a包修改 packages/a/__tests__ 目录下的 a.test.jsuse strict;import a from ../lib/index.js; import assert from assert;const { strict } assert;assert.strictEqual(a(), Hello from a); console.info(a tests passed);这时候在 packages/a 下执行 $ npm run test 测试通过同样packages/* 下的所有包都可以这样修改后执行测试用例 4 发布 发布前的再次检查 每个包的版本都要注意同步检查发布的时候不要有错误发布的配置检查在 package.json 中 publishConfig: { access: public } 都要有提交代码到远程仓库后(必须) 所有事项准备完成就可以执行发布的流程了执行 $ npx lerna publish 这里有步骤可以选择下一个版本填入必要信息或选项选择之后本地packages下包的每个版本都会帮忙升级非常方便 5 验证 发布完成后可以本机全局安装我们的 somegroup/lerna-cli 工具了$ npm i -g somegroup/lerna-clilatest 或者指定版本号再执行 $ lerna-cli 就可以运行我们的脚手架了这样基于lerna开发的脚手架就已经完成了
http://www.hkea.cn/news/14339079/

相关文章:

  • 网站上面的内容里面放照片怎么做网站开发技术案例
  • 网站建设 软文发布重庆会计之家是谁做的网站
  • 专门做油画交流的网站衣服网站设计
  • 做网站的哪里好网络规划设计师大纲
  • 网站建设分几种智诚外包网
  • 网站建设需要学什么证专业网站制作价格
  • 公司官网如何更新网站游戏挂机赚钱一小时20
  • 怎样装修公司网站cms建站系统安装
  • access 网站开发网站建设的费是多少
  • 网站 留言板 制作生鲜网站建设规划书范文
  • 那个网站可以免费做风面百度搜索网站显示图片
  • 保定免费网站建站模板网页设计需要什么技术
  • 聊城手机网站建设欧阳网站建设
  • 网站建设是固定资产还是列费用怎么制作公众号链接
  • 企业网站模板下载价格多少北京网站平台开发
  • 房地产网站建设需求说明书做ic的电子网站有哪些
  • 网站鼠标经过图片代码网站死循环
  • 做网站选择系统建筑公司取名字参考大全
  • 个人网站教程南昌企业网站设计公司
  • 广东省建设工程质量安全协会网站深圳市建设股份有限公司
  • 重庆网站服务建设试题wordpress的特点
  • ios风格网站模板用系统建购物网站
  • 网站建设代码容易出错wordpress的开发文档
  • 网站免备案创意合肥网站建设
  • 网站做弹窗广告吗做p2p网站多少钱
  • 如皋官方网站建设什么地铁西安住房和城乡建设部网站
  • 新网站关键词怎么优化网站网页设计0基础学
  • 电商的网站开发订单返利功能微软做网站
  • 新网站怎么做论坛推广dw个人网页制作模板源代码
  • 电子商务网站建设系统特点建立网站的公司有哪些