how2j.cn

下载区
文件名 文件大小
how2java.rar 378b
步骤 1 : how2java 模块   
步骤 2 : npmjs.com   
步骤 3 : 激活账号   
步骤 4 : 新建项目目录   
步骤 5 : 新建 a.js   
步骤 6 : 新建 package.json   
步骤 7 : 登陆 npm   
步骤 8 : 发布   
步骤 9 : 发布成功邮件通知。。。。   
步骤 10 : 完整项目   

在上个例子里讲解了如何通过 npm 安装 how2java 模块,可是这个 how2java 模块是从哪里来的呢?
这个 how2java 模块也是通过 npm 这个工具,发布出去的。
本知识点就会讲解如何来制作和发布自定义模块。
所有npm都是发布在 https://www.npmjs.com/ 上面的,所以在发布之前,需要到 npmjs 上去注册一个账号,才有权限发布自己定义模块。
必须激活 账号。
注册之后,就会有个激活信发到注册邮箱里,必须激活。否则后面发布模块会失败。
激活账号
步骤 4 :

新建项目目录

edit
新建项目目录

e:\project\how2java
新建项目目录
a.js 代码很简单,就是个函数,以及exports
新建 a.js
function hello(){ console.log("hello from how2java"); } exports.hello=hello;
function hello(){
  console.log("hello from how2java");
}
exports.hello=hello;
步骤 6 :

新建 package.json

edit
package.json 文件,就是告诉 npmjs.com 这个模块的相关信息。
可以手动创建 package.json 复制我的内容(项目名称 name修改成其他的,不要再用 how2java,因为这个名称已经被我占用了)

或者用 npm 命令来创建package.json 文件

npm init

这个命令就是导致package.json 文件的生成,不嫌麻烦可以用命令生成。
新建 package.json
{ "name": "how2java", "version": "1.0.3", "description": "npm of how2java", "main": "a.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ "how2java" ], "author": "how2j", "license": "ISC" }
{
  "name": "how2java",
  "version": "1.0.3",
  "description": "npm of how2java",
  "main": "a.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "how2java"
  ],
  "author": "how2j",
  "license": "ISC"
}
接着就是要发布了,在发布之前用如下命令登陆 前面 npmjs.com 步骤时注册的账号和密码

npm adduser
登陆 npm
成功登陆之后,就可以发布模板了。使用如下命令:

npm publish
发布
步骤 9 :

发布成功邮件通知。。。。

edit
如果你的邮箱是qq,并且开着qq,那么还会收到发布成功的通知。。。。
发布成功邮件通知。。。。
完整项目在右上角下载 how2java.rar。
额。。。。其实里面就俩简单文件~


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2019-07-04 发布失败,激活链接404
栀言



邮箱激活的链接 404 找不到,所以没激活成功么?? npm adduser之后, npm publish 报错

							
npm ERR! path E:\rengu\0704\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 'E:\rengu\0704\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\hzs\AppData\Roaming\npm-cache\_logs\2019-07-04T10_47_19_511Z-debug.log





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-02-17 发布报错
316720614
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\nodejs\\node.exe', 1 verbose cli 'C:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'publish' ] 2 info using npm@6.4.1 3 info using node@v10.15.0 4 verbose npm-session 98adfbd7682e93e5 5 verbose publish [ '.' ] 6 info lifecycle frans@1.0.0~prepublish: frans@1.0.0 7 info lifecycle frans@1.0.0~prepare: frans@1.0.0 8 info lifecycle frans@1.0.0~prepublishOnly: frans@1.0.0 9 info lifecycle frans@1.0.0~prepack: frans@1.0.0 10 info lifecycle frans@1.0.0~postpack: frans@1.0.0 11 notice 12 notice package: frans@1.0.0 13 notice === Tarball Contents === 14 notice 219B package.json 14 notice 90B a.js 15 notice === Tarball Details === 16 notice name: frans 16 notice version: 1.0.0 16 notice package size: 331 B 16 notice unpacked size: 309 B 16 notice shasum: 1b84826526dc16e1501baa515de43f7397e05c66 16 notice integrity: sha512-dUewyIOkyRTrD[...]5M37mDxHH49xA== 16 notice total files: 2 17 notice 18 verbose getPublishConfig undefined 19 silly mapToRegistry name frans 20 silly mapToRegistry using default registry 21 silly mapToRegistry registry https://registry.npmjs.org/ 22 silly mapToRegistry data { type: 'tag', 22 silly mapToRegistry registry: true, 22 silly mapToRegistry where: undefined, 22 silly mapToRegistry raw: 'frans', 22 silly mapToRegistry name: 'frans', 22 silly mapToRegistry escapedName: 'frans', 22 silly mapToRegistry scope: undefined, 22 silly mapToRegistry rawSpec: '', 22 silly mapToRegistry saveSpec: null, 22 silly mapToRegistry fetchSpec: 'latest', 22 silly mapToRegistry gitRange: undefined, 22 silly mapToRegistry gitCommittish: undefined, 22 silly mapToRegistry hosted: undefined } 23 silly mapToRegistry uri https://registry.npmjs.org/frans 24 verbose publish registryBase https://registry.npmjs.org/ 25 silly publish uploading C:\Users\ADMINI~1\AppData\Local\Temp\npm-5368-d2b1db4a\tmp\fromDir-5f6859c7\package.tgz 26 verbose request uri https://registry.npmjs.org/frans 27 verbose request sending authorization for write operation 28 info attempt registry request try #1 at 15:01:08 29 verbose request using bearer token for auth 30 verbose request id 7ca334ceec70679e 31 http request PUT https://registry.npmjs.org/frans 32 http 403 https://registry.npmjs.org/frans 33 verbose headers { date: 'Sun, 17 Feb 2019 07:01:32 GMT', 33 verbose headers 'content-type': 'application/json', 33 verbose headers 'transfer-encoding': 'chunked', 33 verbose headers connection: 'keep-alive', 33 verbose headers 'set-cookie': 33 verbose headers [ '__cfduid=d6ee997a1652a0507ded011f2da0e0e3e1550386892; expires=Mon, 17-Feb-20 07:01:32 GMT; path=/; domain=.registry.npmjs.org; HttpOnly' ], 33 verbose headers 'cf-ray': '4aa6621b087f928e-SJC', 33 verbose headers 'expect-ct': 33 verbose headers 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 33 verbose headers vary: 'Accept-Encoding', 33 verbose headers server: 'cloudflare', 33 verbose headers 'content-encoding': 'gzip' } 34 error publish Failed PUT 403 35 verbose stack Error: You do not have permission to publish "frans". Are you logged in as the correct user? : frans 35 verbose stack at makeError (C:\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:329:12) 35 verbose stack at RegClient.<anonymous> (C:\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:317:14) 35 verbose stack at Gunzip.cb (C:\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:222:7) 35 verbose stack at Gunzip.zlibBufferOnEnd (zlib.js:123:10) 35 verbose stack at Gunzip.emit (events.js:187:15) 35 verbose stack at endReadableNT (_stream_readable.js:1094:12) 35 verbose stack at process._tickCallback (internal/process/next_tick.js:63:19) 36 verbose statusCode 403 37 verbose pkgid frans 38 verbose cwd D:\nodejs\frans 39 verbose Windows_NT 6.1.7601 40 verbose argv "C:\\nodejs\\node.exe" "C:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish" 41 verbose node v10.15.0 42 verbose npm v6.4.1 43 error code E403 44 error You do not have permission to publish "frans". Are you logged in as the correct user? : frans 45 verbose exit [ 1, true ]




3 个答案

brmxj 答案时间:2019-07-12
重名了 把json里的name名字改下

rockmanzzx 答案时间:2019-06-10
44 error You do not have permission to publish "frans". Are you logged in as the correct user? : frans 说你没权限发布,让你确认登录的用户是否正确。 看看是不是没登录,或者账号没激活?

cirzear 答案时间:2019-03-08
你这报的也太多了⑧



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-08-13 前端部分-node.js-npm 发布模块




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-node.js-npm 发布模块 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 1001964108
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图