npm init
npm init -y
name, author, contributors, bugs, homepage, version, license, keywords, description, repository, main, private, scripts, dependencies, devDependencies, engines, browserslist
Точка входа в проект
"main": "src/main.js"
Скрипты, которые можно запускать
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit",
"build": "node build/build.js"
}
npm run start
Список зависимостей, необходимых для выполнения проекта
"dependencies": {
"vue": "^2.5.2"
}
Список зависимостей, необходимых для разработки проекта
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1"
}
npm install
npm install package
npm install package@1.0.2
Рекомендация: устанавливать пакет глобально, только если он предоставляет выполняемые команды, которые могут быть использованы для всех проектов.
Установить глобально (необходимы права администратора):
npm install package@1.0.2 -g
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('an event occurred!');
});
myEmitter.emit('event');
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', (a, b) => {
console.log('an event occurred:', a + b);
});
myEmitter.emit('event', 1, 3);
setTimeout(callback, 0)
process.nextTick(callback)
// Импорт локального модуля:
const myLocalModule = require('./path/myLocalModule');
// Импорт JSON файла
const jsonData = require('./path/filename.json');
// Импорт из node_modules или встроенного в Node.js модуля:
const crypto = require('crypto');
// Модуль.
module.exports = class Square {
constructor(width) {
this.width = width;
}
area() {
return this.width ** 2;
}
};
// Асинхронная обработка.
const fs = require('fs');
fs.unlink('/tmp/hello', (err) => {
if (err) throw err;
console.log('successfully deleted /tmp/hello');
});
// Синхронная обработка.
const fs = require('fs');
try {
fs.unlinkSync('/tmp/hello');
console.log('successfully deleted /tmp/hello');
} catch (err) {
// handle the error
}
fs.readFileSync('/tmp/hello');
fs.readFileSync('../hello');
fs.readFileSync(new URL('file:///tmp/hello'));
const fs = require('fs');
fs.unlinkSync('/tmp/hello');
try {
fs.unlinkSync('./hello');
console.log('successfully deleted /tmp/hello');
} catch (err) {
// handle the error
console.log('File not deleted');
}
const EventEmitter = require('events');
const ee = new EventEmitter();
setImmediate(() => {
// This will crash the process because no 'error' event
// handler has been added.
ee.emit('error', new Error('This will crash'));
});