NodeJS 模块开发及发布详解分享_javascript技巧
比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的功能了。自己写完之后,再把它打包成一个模块分享给大家来用,即方便了其他人,又能让自己有点小小的成就感,实在是一件一举多得的好事情。接下来,我就为大家介绍一下如何封装一个NodeJS模块并把它分享给其他人。
NPM (Node Package Manager, http://npmjs.org ) 是 NodeJS 的模块管理软件,除 NodeJS 内置的核心模块外,其他模块的安装、卸载等管理操作都要通过 NPM 来进行,我们自己写的模块,就要发布到NPM上来供其他人使用。
接下来,我们做一个非常简单的模块 “hello”,这个模块的功能只有一个:提供一个参数 “name” ,它在控制台输出 “Hello name”。在开始之前,我们首先要把node和npm装好,安装方法在其官方网站都有介绍,这里就不再多说了。
首先,我们创建一个名为”hello”的目录,作为模块的主目录。进入该目录,开始我们的工作。
然后,写模块的核心代码,很简单,只有以下三行:
exports.Hello = function ( name ) {
console.log( "Hello " + name );
}
把它保存为 hello.js。
NodeJS每个扩展模块中都有一个package.json文件,用来描述模块的一些基本属性,比如模块名称、作者、版本号等等。关于package.json写法的详细说明,可以使用 “npm help json” 命令来查看。
我们可以在模块主目录下执行 npm init 来生成一个最基本的package.json。按照命令的提示依次输入信息即可。以下是在 hello 目录下执行 npm init 并填入相关信息后的结果:
$ npm init
Package name: (hello) //模块名字,npm init会自动取当前目录名作为默认名字,这里不需要改,直接确认即可
Description: A example for write a module //模块说明
Package version: (0.0.0) 0.0.1 //模块版本号,这个大家按自己习惯来定就可以
Project homepage: (none) //模块的主页,如果有的话可以填在这里,也可以不填
Project git repository: (none) //模块的git仓库,选填。npm的用户一般都使用github做为自己的git仓库
Author name: Elmer Zhang //模块作者名字
Author email: (none) freeboy6716@gmail.com //模块作者邮箱
Author url: (none) http://www.elmerzhang.com //模块作者URL
Main module/entry point: (none) hello.js //模块的入口文件,我们这里是hello.js
Test command: (none) //测试脚本,选填
What versions of node does it run on? (~v0.5.7) * //依赖的node版本号,我们这个脚本可以运行在任何版本的node上,因此填 *
About to write to /home/elmer/hello/package.json
// 以下是生成的package.json文件内容预览
{
"author": "Elmer Zhang
"name": "hello",
"description": "A example for write a module",
"version": "0.0.1",
"repository": {
"url": ""
},
"main": "hello.js",
"engines": {
"node": "*"
},
"dependencies": {},
"devDependencies": {}
}
Is this ok? (yes) //对以上内容确认无误后,就可以直接回车确认了
到此为止,我们这个模块就写完了。这时hello目录下应该有两个文件:hello.js和package.json。
我们可以返回到hello的上级目录,来测试安装一下这个模块:
$ npm install hello/
hello@0.0.1 ./node_modules/hello
显示安装成功。简单的测试一下:
$ node
> var Hello = require('hello').Hello;
> Hello('world');
Hello world正确输出了”Hello world”。
接下来我们把它发布到NPM上。
首先,我们需要有一个NPM帐号,可以使用npm adduser来注册一个:
$ npm adduser
Username: elmerzhang
Password:
Email: freeboy6716@gmail.com
简单三步,一个NPM用户注册成功。
最后回到 hello 根目录,执行一下npm publish,如果没有任何错误提示,那么就发布成功了。去 http://search.npmjs.org/上看一下吧,你的模块应该已经显示在”Latest Updates”一栏里了。
至此,一个NodeJS模块成功发布到NPM,以后就可以在任何能访问npm库的地方通过npm install来安装你的模块了。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Perbezaan utama antara Node.js dan Tomcat ialah: Runtime: Node.js adalah berdasarkan masa jalan JavaScript, manakala Tomcat ialah bekas Java Servlet. Model I/O: Node.js menggunakan model tidak menyekat tak segerak, manakala Tomcat menyekat segerak. Pengendalian konkurensi: Node.js mengendalikan konkurensi melalui gelung peristiwa, manakala Tomcat menggunakan kumpulan benang. Senario aplikasi: Node.js sesuai untuk aplikasi masa nyata, intensif data dan konkurensi tinggi, dan Tomcat sesuai untuk aplikasi web Java tradisional.

Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda
