الآلية الوقائية الوطنية استخدام مقدمة
ويرافق الآلية الوقائية الوطنية NodeJS أدوات إدارة الحزم المثبتة معا، ويمكن حل العديد من المشاكل NodeJS متاحة للانتشار في سيناريوهات الاستخدام المشترك ما يلي:
- الآلية تسمح للمستخدمين لتحميل من الخادم إلى حزم طرف ثالث مكتوبة من قبل الآخرين للاستخدام المحلي.
- وهو يتيح للمستخدمين تنزيل وتثبيت برنامج سطر الأوامر مكتوبة من قبل شخص آخر لاستخدام الملقم المحلي من الآلية الوقائية الوطنية.
- وهو يتيح للمستخدمين إرسال برنامج حزمة أو سطر الأوامر الخاصة التي تم تحميلها إلى خادم للآخرين لاستخدام الآلية الوقائية الوطنية.
منذ النسخة الجديدة من nodejs ودمج الآلية الوقائية الوطنية، وذلك قبل الآلية الوقائية الوطنية أيضا أن تكون مثبتة. يمكنك أيضا إدخال"الآلية الوقائية الوطنية -v" لاختبار ما إذا كان التثبيت بنجاح.الأمر التالي، يظهر نسخة وتركيب الفوري الناجح:
$ npm -v 2.3.0
إذا قمت بتثبيت نسخة قديمة من الآلية الوقائية الوطنية، فإنه يمكن بسهولة أن تتم ترقية عن طريق الآلية الوقائية الوطنية لالأوامر، والأمر كما يلي:
$ sudo npm install npm -g /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js [email protected] /usr/local/lib/node_modules/npm
إذا كان نظام النافذة، استخدم الأمر التالي:
npm install npm -g
الآلية الوقائية الوطنية تثبيت باستخدام وحدة القيادة
الآلية الوقائية الوطنية تثبيت تركيب وحدة نود.جي إس هي كما يلي:
$ npm install <Module Name>
الأمثلة التالية، ونحن نستخدم الأمر لتثبيت الآلية الوقائية الوطنية إطارا مشتركا نود.جي إس وحدة الإنترنتصريحة:
$ npm install express
وبمجرد تركيب، وأعرب يتم وضع الحزمة في الدليل node_modules في دليل المشروع، وبالتالي فإن التعليمات البرمجية فقط من خلالتتطلب ( 'التعبير') مثل الطريقة، دون تحديد المسار إلى حزم طرف ثالث.
var express = require('express');
تركيب العالمي والتثبيت المحلي
الآلية الوقائية الوطنية تثبيت الحزمة إلى تثبيت محلي (المحلي)، وتركيب العالمي (جلوبل) هما، ضرب من سطر الأوامر، والفرق الوحيد هو عدم وجود -g فقط، مثل
npm install express # 本地安装 npm install express -g # 全局安装
إذا كان الخطأ التالية:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
الحل:
$ npm config set proxy null
التثبيت المحلي
- 1. وضع حزمة التثبيت وضعها في ./node_modules (الدليل حيث الأمر قيد التشغيل الآلية الوقائية الوطنية)، إن لم يكن دليل node_modules سيولد في الدليل الحالي node_modules دليل تنفيذ الأمر الآلية الوقائية الوطنية.
- 2. ويمكن إدخال حزمة مثبتة محليا تتطلب من خلال ().
تركيب العالمي
- 1. وضع حزمة التثبيت وضعت في / البيرة / المحلية أو عقدة دليل التثبيت.
- 2. يمكنك استخدامها مباشرة في سطر الأوامر.
إذا كنت تريد أن يكون كل من الميزات، تحتاج إلى تثبيته في مكانين أو استخدام رابط الآلية الوقائية الوطنية.
التالي، ونحن نستخدم العالمي تثبيت صريحة
$ npm install express -g
عملية التثبيت الإخراج التالي، في السطر الأول من رقم الإصدار الانتاج والمكان تركيب وحدة.
[email protected] node_modules/express ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected], [email protected]) └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
يمكنك استخدام الأمر التالي لعرض جميع وحدات تثبيت العالمية:
$ npm ls -g
استخدام package.json
package.json تقع في وحدة دليل، يحدد خصائص الحزمة. دعونا ننظر في node_modules / صريح / المحتوى package.json ملف package.json حزمة صريحة تقع:
{ "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.13.3", "author": { "name": "TJ Holowaychuk", "email": "[email protected]" }, "contributors": [ { "name": "Aaron Heckmann", "email": "[email protected]" }, { "name": "Ciaran Jessup", "email": "[email protected]" }, { "name": "Douglas Christopher Wilson", "email": "[email protected]" }, { "name": "Guillermo Rauch", "email": "[email protected]" }, { "name": "Jonathan Ong", "email": "[email protected]" }, { "name": "Roman Shtylman", "email": "[email protected]" }, { "name": "Young Jae Sim", "email": "[email protected]" } ], "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/strongloop/express.git" }, "homepage": "http://expressjs.com/", "keywords": [ "express", "framework", "sinatra", "web", "rest", "restful", "router", "app", "api" ], "dependencies": { "accepts": "~1.2.12", "array-flatten": "1.1.1", "content-disposition": "0.5.0", "content-type": "~1.0.1", "cookie": "0.1.3", "cookie-signature": "1.0.6", "debug": "~2.2.0", "depd": "~1.0.1", "escape-html": "1.0.2", "etag": "~1.7.0", "finalhandler": "0.4.0", "fresh": "0.3.0", "merge-descriptors": "1.0.0", "methods": "~1.1.1", "on-finished": "~2.3.0", "parseurl": "~1.3.0", "path-to-regexp": "0.1.7", "proxy-addr": "~1.0.8", "qs": "4.0.0", "range-parser": "~1.0.2", "send": "0.13.0", "serve-static": "~1.10.0", "type-is": "~1.6.6", "utils-merge": "1.0.0", "vary": "~1.0.1" }, "devDependencies": { "after": "0.8.1", "ejs": "2.3.3", "istanbul": "0.3.17", "marked": "0.3.5", "mocha": "2.2.5", "should": "7.0.2", "supertest": "1.0.1", "body-parser": "~1.13.3", "connect-redis": "~2.4.1", "cookie-parser": "~1.3.5", "cookie-session": "~1.2.0", "express-session": "~1.11.3", "jade": "~1.11.0", "method-override": "~2.3.5", "morgan": "~1.6.1", "multiparty": "~4.1.2", "vhost": "~3.0.1" }, "engines": { "node": ">= 0.10.0" }, "files": [ "LICENSE", "History.md", "Readme.md", "index.js", "lib/" ], "scripts": { "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/", "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/", "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/", "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/" }, "gitHead": "ef7ad681b245fba023843ce94f6bcb8e275bbb8e", "bugs": { "url": "https://github.com/strongloop/express/issues" }, "_id": "[email protected]", "_shasum": "ddb2f1fb4502bf33598d2b032b037960ca6c80a3", "_from": "express@*", "_npmVersion": "1.4.28", "_npmUser": { "name": "dougwilson", "email": "[email protected]" }, "maintainers": [ { "name": "tjholowaychuk", "email": "[email protected]" }, { "name": "jongleberry", "email": "[email protected]" }, { "name": "dougwilson", "email": "[email protected]" }, { "name": "rfeng", "email": "[email protected]" }, { "name": "aredridel", "email": "[email protected]" }, { "name": "strongloop", "email": "[email protected]" }, { "name": "defunctzombie", "email": "[email protected]" } ], "dist": { "shasum": "ddb2f1fb4502bf33598d2b032b037960ca6c80a3", "tarball": "http://registry.npmjs.org/express/-/express-4.13.3.tgz" }, "directories": {}, "_resolved": "https://registry.npmjs.org/express/-/express-4.13.3.tgz", "readme": "ERROR: No README data found!" }
الوصف Package.json الملكية
اسم - اسم الحزمة.
إصدار - رقم إصدار الحزمة.
وصف - وصف الحزمة.
حزمة عنوان موقع الرسمي- الصفحة الرئيسية.
الكاتب - مؤلف اسم الحزمة.
حزمة أسماء المشاركين الآخرين- المساهمين.
تبعيات - قائمة تبعيات.إذا لم يتم تثبيت التبعيات، والآلية الوقائية الوطنية تلقائيا تثبيت حزم تعتمد في دليل node_module.
مستودع - نوع مناطق التخزين رمز الحزمة، إما بوابة أو إس، بوابة المتاحة على جيثب.
الرئيسي - الملعب الرئيسيهو معرف وحدة، وهو مؤشر لمشروع كبير من البرنامج. وهذا هو، إذا كنت حزمة اسم صريحة، ثم المستخدم لتثبيته، ومن ثم تتطلب ( "التعبير").
كلمات - كلمات
وحدة التفريغ
يمكننا استخدام الأمر التالي لإلغاء وحدات نود.جي إس.
$ npm uninstall express
بعد إلغاء تثبيت، يمكنك الذهاب إلى حزمة / node_modules / كتالوج القادمة هناك، أو استخدم الأمر التالي:
$ npm ls
تحديث وحدة
يمكننا استخدام الأمر التالي لتحديث وحدة:
$ npm update express
بحث الوحدة
استخدام وحدات البحث التالية:
$ npm search express
إنشاء وحدة نمطية
إنشاء وحدة نمطية، ملف package.json أمر ضروري. يمكننا استخدام الآلية الوقائية الوطنية توليد ملف package.json، الملف الناتج على النتائج الأساسية.
$ npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg> --save` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. name: (node_modules) w3big # 模块名 version: (1.0.0) description: Node.js 测试模块(www.w3big.com) # 描述 entry point: (index.js) test command: make test git repository: https://github.com/w3big/w3big.git # Github 地址 keywords: author: license: (ISC) About to write to ……/node_modules/package.json: # 生成地址 { "name": "w3big", "version": "1.0.0", "description": "Node.js 测试模块(www.w3big.com)", …… } Is this ok? (yes) yes
المعلومات الواردة أعلاه، تحتاج إلى إدخال الوضع الخاص بك. بعد إدخال النهائي "نعم" سوف تولد ملف package.json.
ثم يمكننا استخدام الأمر التالي للمستخدمين المسجلين (استخدام البريد المسجل) في مستودع الآلية الوقائية الوطنية:
$ npm adduser Username: mcmohd Password: Email: (this IS public) [email protected]
التالي، ونحن نستخدم الأمر التالي للافراج عن وحدة:
$ npm publish
إذا كنت لا تتم الخطوات السابقة بشكل صحيح، يمكنك استخدام الشيء نفسه مع وحدات أخرى لتثبيت الآلية الوقائية الوطنية.
رقم الإصدار
الآلية تحميل واستخدام سيصدر قانون عندما تتعرض لرقم الإصدار. الآلية الوقائية الوطنية باستخدام رقم الإصدار الدلالي لإدارة رمز، وهنا لفترة وجيزة.
وتنقسم دلالات نسخة إلى ثلاثة XYZ، وهو ما يمثل رقم الإصدار الرئيسي، رقم الإصدار الثانوي والإصدار التصحيح العدد. عندما تغير رمز، ورقم إصدار التحديث وفقا للمبادئ التالية.
- إلا إذا كان يعمل على إصلاح الخلل، وتحتاج إلى تحديث Z قليلا.
- إذا كنت ميزة جديدة، ولكن متوافقة إلى الوراء، فإنه يحتاج إلى تحديث بت Y.
- إذا كانت هناك تغييرات كبيرة، لا تتوافق أسفل، فإنه يحتاج إلى تحديث موقف العاشر.
مع هذا التأكيد بعد رقم الإصدار، في بيان تعتمد على حزم الطرف الثالث، بالإضافة إلى الاعتماد على رقم إصدار ثابت، ولكن يعتمد أيضا على مجموعة من الأرقام الإصدار. على سبيل المثال "ARGV": "0.0.x" يعتمد على سلسلة 0.0.x تمثل أحدث نسخة من ARGV.
جميع الإصدارات تدعم مجموعة وعدد تستهدف الآلية الوقائية الوطنية يمكن عرض الوثائق الرسمية .
أوامر المشتركة الآلية الوقائية الوطنية
بالإضافة إلى القسم في هذا الفصل، الآلية الوقائية الوطنية كما يوفر الكثير من الميزات، لديها package.json أيضا العديد من المجالات الأخرى المفيدة.
بالإضافة إلى npmjs.org/doc/ التحقق من الوثائق الرسمية، ولكن بعد ذلك وهنا بعض تستخدم عادة أوامر الآلية الوقائية الوطنية.
يوفر الآليات الوقائية الوطنية في الكثير من الأوامر، مثل تثبيت ونشر، وذلك باستخدام الآلية الوقائية الوطنية مساعدة لرؤية كافة الأوامر.
يوفر الآليات الوقائية الوطنية في الكثير من الأوامر، مثل
install
وpublish
، وذلك باستخدامnpm help
لرؤية كافة الأوامر.استخدام
npm help <command>
لعرض مساعدة تفصيلية لأمر ما، مثلnpm help install
.في
package.json
استخدام الدليل التاليnpm install . -g
يمكن تركيبها محليا على برنامج سطر الأوامر الحالي التي يمكن استخدامها لاختبار محلي قبل الافراج عنهم.استخدام
npm update <package>
يمكن وضع الدليل الحاليnode_modules
دليل فرعي داخل وحدة يتوافق مع أحدث إصدار.استخدام
npm update <package> -g
يمكن أن تتوافق مع برنامج سطر الأوامر تثبيت عالميا التحديث إلى الإصدار الأحدث.استخدام
npm cache clear
يمكن مسح ذاكرة التخزين المؤقت المحلية الآلية الوقائية الوطنية، للتعامل مع نفس رقم الإصدار لعلامات الإصدار الجديد.استخدام
npm unpublish <package>@<version>
> صدر يمكن إلغاء نشر نسخة من التعليمات البرمجية الخاصة بهم.
استخدام تاوباو الآلية الوقائية الوطنية مرآة
ونحن نعلم جميعا أن استخدام المباشر المحلي من الآلية الوقائية الوطنية مرآة الرسمي بطيء جدا، فمن المستحسن هناك استخدام تاوباو الآلية الوقائية الوطنية المرآة.
تاوباو الآلية الوقائية الوطنية هو استكمال صورة npmjs.org مرآة، يمكنك استخدام هذا بدلا من النسخة الرسمية (للقراءة فقط)، ومزامنة حاليا التردد من 10 دقيقة من أجل ضمان أقصى حد ممكن لمزامنة مع خدمة الرسمية.
يمكنك استخدام تاوباو cnpm مخصصة (دعم ضغط غزيب) أداة سطر الأوامر بدلا من الآلية الافتراضي:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
ويمكن تركيب هذه الوحدة باستخدام الأوامر cnpm:
$ cnpm install [name]
ويمكن الاطلاع على مزيد من المعلومات: http://npm.taobao.org/ .