Попрощайтесь с ‘npm install’, не нужно ‘npm install’, выбросьте ‘npm install’.

Попрощайтесь с npm install, не нужно npm install, выбросьте npm install.

пример

В вашем проекте,

  1. добавьте npx -y ai-install в package.json->scripts->start/build.
{
  "name": "ai-install-demo",
  "scripts": {
    "start": "npx -y ai-install && xxx serve --open",
    "build": "npx -y ai-install && xxx build"
  },
  "devDependencies": {
    "xxx": "x.y.z"
  }
}
Вход в полноэкранный режим Выход из полноэкранного режима
  1. добавьте новый файл npm-start.sh, его содержимое:
npm start 
Войти в полноэкранный режим Выйти из полноэкранного режима

После git clone, просто дважды щелкните npm-start.sh для запуска, без ввода команды.

потому что

npx -y ai-install
Войти в полноэкранный режим Выход из полноэкранного режима

выполнение npm install, если он не установлен.

npx Выполнить произвольную команду из пакета npm (либо установленного локально, либо полученного удаленно).

подумайте

Экономит ли это секунду ввода npm i? Нет!

После установки npm i, он не был плавно связан с npm start, из-за чего тратилось 10 ~ 60 секунд.

Если вы используете npx -y ai-install, то npm start скорее всего запустится на минуту раньше.

yarn & pnpm

npx -y ai-install
Вход в полноэкранный режим Выход из полноэкранного режима

В проекте yarn автоматическое выполнение yarn install, если он не установлен.

В проекте pnpm, если он не установлен, автоматически выполняется pnpm install.

src

в файле package.json определена команда ai-install.

{
  "name": "ai-install",
  "version": "1.0.0",
  "description": "Say goodbye to `npm install`, no need `npm install`, throw away `npm install`.",
  "main": "index.js",
  "bin": {
    "ai-install": "index.js"
  }
}
Вход в полноэкранный режим Выход из полноэкранного режима

index.js выполняет npm/yarm/pnpm install, если не установлен.

#!/usr/bin/env node

var fs = require('fs');
var child_process = require('child_process');

if (!fs.existsSync('node_modules')) {
  if(fs.existsSync('yarn.lock')){
    child_process.execSync('yarn install', { stdio: 'inherit' });
  } else if (fs.existsSync('pnpm-lock.yaml')){
    child_process.execSync('pnpm install', { stdio: 'inherit' });
  } else {
    child_process.execSync('npm install', { stdio: 'inherit' });
  }
}
Войдите в полноэкранный режим Выход из полноэкранного режима

ссылка

ai-install npm

ai-install github

Оцените статью
devanswers.ru
Добавить комментарий