Как автоматически перезагрузить скрипт с помощью npm-сервера

#javascript #npm #webpack

Вопрос:

Я тестирую пример кода javascript .

Есть скрипт, как simple.js в demos каталоге.

Я запускаю демонстрацию с помощью этой команды yarn build-demos amp;amp; http-server demos/

simple.js компилируется на simple_bundle.js сервер и работает.

Однако каждый раз , когда я меняюсь simple.js , мне нужно перезапускать сервер.

Есть ли какой-нибудь хороший короткий путь для этой цели??

Я не знаком с npm и webpack

Любая помощь будет признательна.

Мой пакет.json находится здесь ниже:

 {
  "name": "@magenta/sketch",
  "version": "0.2.0",
  "description": "Make sketches in the browser with machine learning.",
  "main": "es5/index.js",
  "types": "es5/index.d.ts",
  "jsdelivr": "dist/magentasketch.js",
  "unpkg": "dist/magentasketch.js",
  "dependencies": {
    "@tensorflow/tfjs": "^1.0.2"
  },
  "devDependencies": {
    "@types/clone": "^0.1.30",
    "@types/file-saver": "^1.3.0",
    "@types/ndarray": "^1.0.6",
    "@types/node": "^12.0.1",
    "@types/tape": "^4.2.32",
    "browserify": "^16.5.1",
    "clang-format": "^1.2.3",
    "clone": "^1.0.4",
    "file-saver": "^1.3.8",
    "file-saver-typescript": "^1.0.1",
    "fs": "0.0.1-security",
    "http-server": "^0.12.1",
    "in-publish": "^2.0.0",
    "minimist": "^1.2.5",
    "path": "^0.12.7",
    "tape": "^4.9.0",
    "ts-loader": "^5.3.0",
    "ts-node": "^5.0.1",
    "tsify": "^3.0.4",
    "tslint": "^5.9.1",
    "typedoc": "^0.16.9",
    "typedoc-plugin-sourcefile-url": "^1.0.3",
    "typescript": "^3.3.3333",
    "webpack": "^4.24.0",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.14"
  },
  "scripts": {
    "prepublish": "yarn lint amp;amp; yarn build amp;amp; yarn bundle",
    "build": "tsc",
    "bundle": "webpack --config ./webpack/lib.config.ts",
    "lint": "tslint -c ../tslint.json -p . -t verbose",
    "test": "ts-node node_modules/tape/bin/tape src/**/*_test.ts",
    "build-demos": "webpack --config ./webpack/demo.config.ts",
    "run-demos": "yarn build-demos amp;amp; http-server demos/",
    "serve-demos": "http-server demos/",
    "serve-dist": "http-server dist/",
    "docs": "sh ../scripts/generate-docs.sh 'sketch'"
  },
  "author": "Magenta",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/tensorflow/magenta-js.git"
  }
}
 

Ответ №1:

Возможно, вам потребуется использовать Nodemon.

  • Вы устанавливаете nodemon с помощью npm i nodemon
  • В package.json вы добавляете сценарий: "dev": "nodemon dist/index.js"
  • Выполните код в консоли, добавив npm run dev

Это должно работать так, как вы хотите

Комментарии:

1. Большое вам спасибо, я использовал http-server так nodemon /Users/whitebear/.nvm/versions/node/v14.17.3/bin/http-server /demos работает.

Ответ №2:

Вы можете рассмотреть возможность использования Nodemon.