目标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. 用Python数据分析告诉你:复联哪个英雄人气最高?
  2. JDK8安装及设置环境变量
  3. 在C++中for、if...内定义的变量在其之外就失效了~
  4. 课堂测试-找英语单词最长链
  5. 前端之javaScript
  6. Cpp 对象模型探索 / 类普通成员函数的调用方式
  7. 光耦驱动单向可控硅_光耦是什麽?
  8. 轮播高度_Qt编写自定义控件24-图片轮播控件
  9. html5新增标签与删除标签,HTML5新增/删除标签
  10. 英语每日阅读---3、VOA慢速英语(翻译+字幕+讲解):哈佛大学被控歧视亚裔学生
  11. Equivalent String
  12. Centos7修改网卡名称
  13. c语言蝴蝶图案代码,通达信指标公式,临界点蝴蝶图案出现,暴涨趋势出现(附源码)...
  14. LaTex下载 、安装以及使用
  15. AD域服务器作用及好处
  16. info There appears to be trouble with your network connection. Retrying
  17. 【回顾】巨杉数据库中标东莞农商银行非结构化内容管理平台项目
  18. 8月22日到26日工作收获
  19. hdu2795 线段树应用:找到线段树中=给定值的第一个元素位置 并 更新该点)
  20. Python,pandas中DataFrame的选取总结

热门文章

  1. 基于神经网络语言模型的词向量生成(NNLM)详解
  2. 运行清理桌面向导菜单
  3. 科技论文 插图_科技品牌正确解决方案时通过插图进行区分
  4. 茶叶与6种食物相克 莫让好茶变毒药
  5. Java输出不换行,在固定位置重复打印
  6. 元宇宙、Web3.0潮起,欧科云链:区块链+大数据深耕科技创新
  7. java读取html的全部xpath,Java - XPath解析爬取内容
  8. Python集合与题目练习
  9. iOS 字体权重weight
  10. 一番街的奇迹(很好看)