目标1:搭建 test-cli 脚手架

目标2:脚手架本地调试

一、搭建 test-cli 脚手架

操作步骤如下:

step1: 初始化操作

// 创建test目录
mkdir test
// 进入test目录
cd test
// 创建 package.json
// "name"为 "test",
npm init -y
// 用编辑器vscode打开项目
code .

构建下图所示的目录结构

step2: 编写bin\index.js文件内容,该文件便是我们的脚手架入口文件

内容如下:

// 头部(必须)
#!/usr/bin/env node
// 相关逻辑代码
console.log(process)
// ......其他代码内容1....
// ......其他代码内容2....

step3:修改package.json文件

添加bin字段

"bin": {"test": "bin/index.js"
},

step4:发布项目到npm

// 登录npm
npm login
// 发布
npm publish

step5:使用我们发布成功的包

// 全局安装发布的包
npm i test -g
// 命令行执行
test

至此,脚手架项目模板搭建完成。

二、脚手架本地调试

1、npm link 介绍

参考链接:docs.npmjs.com/cli/v9/comm…

npm link [<package-spec>]
alias: ln

This is handy for installing your own stuff, so that you can work on it and test iteratively without having to continually rebuild.

Package linking is a two-step process.

First, npm link in a package folder with no arguments will create a symlink in the global folder {prefix}/lib/node_modules/<package> that links to the package where the npm link command was executed. It will also link any bins in the package to {prefix}/bin/{name}. Note that npm link uses the global prefix (see npm prefix -g for its value).

1、npm link: 在全局npm的 node_modules下生成一个软链接,同时也会在npm目录下生成对应的脚本文件

Next, in some other location, npm link package-name will create a symbolic link from globally-installed package-name to node_modules/ of the current folder.

2、npm link test-lib(你的库文件包名): 运行该命令后,会在当前项目test的node_modules下生成test-lib的软连接。 如下图

这样,你就可以在不用发布test-lib的情况下,使用test-lib进行调试啦。

// 将test-lib链接到全局npm目录
cd test-lib
npm link

Note that package-name is taken from package.jsonnot from the directory name.

注意:

1,如果需要解除link,可以使用 npm unlink

2, 使用npm link,重点关注的位置:

1)全局npm的安装位置 (可以通过npm prefix -g 查看)
2)全局npm 目录下的脚本文件,
3)全局npm 目录下的node_modules中的软链接:C:\Users\DELL\AppData\Roaming\npm\test

2、只存在一个项目

test项目包名为: test

// step1:
cd test
npm link// step2:
test // 执行test命令

3、存在多个项目,需要分包处理时

  • 当前项目 : test
  • test 想要链接使用的 库:test-lib
// step1: 将test-lib链接到test项目的node_modules
cd test
npm link test-lib// step2: 修改 test 目录下的 package.json,手动添加以下依赖(正式使用时必须添加)
"dependencies": {"test-lib": "^1.1.0"
}// step3:如果入口文件是”lib\index.js“,需要修改库test-lib项目的main 字段,
// 原始默认入口是 “index.js”
"main": "lib/index.js",

最后

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。

有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享

部分文档展示:



文章篇幅有限,后面的内容就不一一展示了

有需要的小伙伴,可以点下方卡片免费领取

node脚手架搭建快速入门相关推荐

  1. springboot aop使用_Springboot 完整搭建快速入门,必看!

    点击上方蓝字关注我们 作者:CansluckCSDN博客:https://blog.csdn.net/xgx120413 前言 手把手教你Springboot微服务项目搭建快速入门,通过本文学习Spr ...

  2. 服务器搭建快速入门——适用于Android应用服务器、微信小程序服务器(一)

    目录 服务器搭建快速入门--适用于Android应用服务器.微信小程序服务器 适用人群 使用方案 准备工作 硬件方面 软件方面 开始搭建 服务器搭建快速入门--适用于Android应用服务器.微信小程 ...

  3. 完整的node脚手架搭建服务

    使用脚手架来搭建node服务,使用到了express架构,不熟悉的可以看下express官方文档:http://www.expressjs.com.cn/ 使用express直接生成服务的文档结构目录 ...

  4. Vue框架搭建快速入门

    如何快速的搭建一个Vue的框架 安装的环境 说明 安装的环境 - node.js https://nodejs.org/zh-cn/(官网) https://npm.taobao.org/mirror ...

  5. geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf

    完整文档下载地址:https://download.csdn.net/download/a772304419/17241395 /** GeoTools - The Open Source Java ...

  6. qq位置如何用启动百度地图定位服务器,腾讯位置服务API快速入门

    前言 之前项目有个需求,在网页上显示微信发送过来的位置信息,该开始想用百度地图,后来发现腾讯地图相对简单一点 快速入门 申请Key 引入js 把###替换成你申请的key 定义容器 设置好宽高度 设置 ...

  7. Node.js 4.x 入门实战视频课程【讲师辅导】-曾亮-专题视频课程

    Node.js 4.x 入门实战视频课程[讲师辅导]-15843人已学习 课程介绍         [会员免费]链接 http://edu.csdn.net/lecturer/585 右侧办理会员卡. ...

  8. Vue笔记——搭建脚手架并快速创建Vue项目

    现在的Vue脚手架已经升级到3.x版本,即vue-cli3. 脚手架升级之后,安装的命令发生了变化,所以这篇文章会跟大家演示新旧版本的脚手架安装过程,以及使用新旧版本脚手架创建项目的过程. 下面的安装 ...

  9. 54 Node.js快速入门

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.Node开发概述 1.1 为什么要学习服务器端开发基础 能够与后端程序员更加紧密的配合 ...

最新文章

  1. UIKeyboardTypeNumberPad 数字键盘添加完成按钮
  2. 7.2 TensorFlow笔记(基础篇): 生成TFRecords文件
  3. self studying room list available at campus
  4. html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?
  5. 画质评测|一次关于视频画质的探(zhǎn)讨(xiàn)
  6. 创新!谷歌大改Transformer注意力
  7. ubuntu搭建Kubernetes集群(ansible,kubedam,rancher)
  8. form表单自动回车提交
  9. 诺基亚c7微信 服务器忙,诺基亚C7怎么刷机
  10. 2.8数据-paddlepaddle数据集uci_housing
  11. jvm gc日志分析和工具
  12. python程序怎么给别人运行_如何把自己写的python程序给别人用
  13. 小僧尽知他的备细出 水浒
  14. 索尼展示基于MicroLED技术的16K显示屏:约780吋
  15. C# 判断两张图片是否一致,极快速。
  16. cuil:吹牛营销大师
  17. 前端图像处理之马赛克
  18. 选择恐惧症福音!教你三种思维方式,像计算机一样做出最优决策
  19. 【转】如何实现点击textbox显示monthCalendar 选择monthCalendar把值传给textbox
  20. 小天博客[xtboke.com]

热门文章

  1. 酒店管理系统设计与实现毕业设计
  2. Mac os 如何安装SVN
  3. ECMAscript学习笔记(01)
  4. 我今年50岁,做了测绘30年,这个行业特别寂寞,但也特别赚钱
  5. java集合:HashMap的底层实现原理
  6. GitHub 使用简介(GitHub 你就是我的神)
  7. Shiro一处登录与退出
  8. 移动端调试神器(eruda)
  9. 【问题解决】无法定位程序输入点~于动态链接库上(The procedure entry point ~ could not be located)
  10. VxWorks下一种解决Telnet 23端口的挂住方法