Latest web development tutorials

الآلية الوقائية الوطنية استخدام مقدمة

ويرافق الآلية الوقائية الوطنية 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/ .