Npm发布module
了不起的nodejs上面很简单: npm publish
然而实际上这么干不行.
-
注册一个npm账号
-
命令行操作
npm adduser npm login npm config ls
-
然后npm publish 依旧失败:
403 Forbidden - PUT https://registry.npmjs.org/ - You do not have permission to publish "". Are you logged in as the correct user?
-
万能的stackoverflow说应该是名字重复了.
npm search mtool
-
真的是这样的.npm
20210125 补充后记
- main属性很有用, 他指明了入口. 那么如何定义多个入口entry呢? 使用exports
//package.josn这么写
"main": "dist/index.js",
"exports": {
".": "dist/index.js",
"./cmd": "dist/nodejs",
"./web": "dist/web",
}
//引入的时候这么写:
import {file} from 'mcktools/cmd'
-
令人发指的是, npm要求10位密码. 神啊, 没有keychain这怎么记得住
-
.npmignore很有用,
- 很多时候不能依赖gitignore,
- 并且需要注意的是, 如果加入了.npmignore, 那么npm会忽略gitignore, 如果我们使用了webpack, 这恰好是我们需要的特性.
- 因为webpack的输出目录, 恰好是需要gitignore这些输出目录, 但是, 这些输出目录又恰好是npm需要的目录.
# 因为依赖webpack的输出, 因此这些目录和文件都是可以忽略的 src webpack.** yarn .vscode .eslintrc.js coffeelint.json postcss.config.js babel.config.json yarn-error.log
-
如果像上面这样需要ignore太多目录, 那么其实可以用白名单, package.json的files属性
{
"files": [
"index.js"
]
}
- 如何查看npm包含哪些文件呢? 用pack命令
npm pack
- 参考: https://zellwk.com/blog/ignoring-files-from-npm-package/
- 对应git: https://github.com/zellwk/zellwk.com/blob/master/src/posts/2019-04-03-ignore-files-from-npm-package.md