• 作者:老汪软件技巧
  • 发表时间:2024-11-27 17:05
  • 浏览量:

Reference

How To Create And Publish Your First NPM Package

Initialization

先创建一个叫is-the-string-devin 的 GitHub repo,GitHub会列出一些命令帮助你在本地初始化该repo,上面创建的repo会给出下面的命令:

// is-the-string-devin
echo "# is-the-string-devin" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:DevinJohw/is-string-devin.git
git push -u origin main

在本地创建一个is-the-string-devin 的文件夹,然后运行上面的初始化commands,这时候,刷新刚刚的github repo,就会看到变化了。

下一步,创建package.json

	npm init

原视频中使用npm版本是9以前的,可以自动推断github repo,我使用的是10,不能自动推断了,我不知道这是个bug还是有意为之,于是提了一个issue:

/npm/cli/iss…

Testing the package locally

# 在待发布的package下
$ npm link
$ sudo npm link # 在macOS需要root权限

npm包加载原理_联想乐檬k5note发布_

# 在测试文件夹下 $ npm link

Creating package with scope

在包名前添加@ ,或者在init package.json 的时候添加flag —scope=

Publishing the package

# first step
$ npm login
# second step
$ npm publish
# 值得注意的是,当包含有scrope,默认是private的,必须添加flag --access=public
$ npm publish --access=public

新创建的package不能立即被search到的问题

创建完package不一定立即能通过npm官网中的搜索框搜到,可以通过下面的命令确认package是否发布成功:

npm view @devinjohw/is-the-string-devin
# 或者,两者完全相同
npm show @devinjohw/is-the-string-devin

这个解决方案来自stackoverflw + chatGPT:

/questions/5…