פּעקל-אַגנאָסטיק סקריפּס מיט Node.js

ווי צו פאַרפּאָשעטערן פליסנדיק סקריפּס אין NPM, Yarn און PNPM

אויב איר האָבן מנהג סקריפּס אין דיין package.json-file, ווי "npm my-script" אָדער "yarn my-script", זיי וועלן נאָר אַרבעטן מיט די פּעקל פאַרוואַלטער איר דעפינירן. אָבער NPM אָפפערס אַן אַפּי צו רופן דעם קראַנט עקסעקוטאַבלע יעדער מאָל, אָן בפירוש ספּעציפיצירן עס.

{
  "scripts": {
    "cleanup": "./clean-up.js",
    "copy": "./copy.js",
    "prepare": "npm run cleanup && npm run copy"
  }
}

ניצן $npm_execpath

דורך ניצן די שטריקל "$npm_execpath" אַנשטאָט פון "npm" אָדער "יאַרן" (אָדער אן אנדער פּעקל פאַרוואַלטער ווי "pnpm"), דעם שריפט וועט אַרבעטן מיט יעדער פּעקל פאַרוואַלטער, קיין ענין וואָס די קראַנט דעוועלאָפּער האט געניצט צו רופן דעם אָריגינעל שריפט. .

{
  "scripts": {
    "cleanup": "./clean-up.js",
    "copy": "./copy.js",
    "prepare": "$npm_execpath run cleanup && $npm_execpath run copy"
  }
}

איז עס קאַמפּאַטאַבאַל אויף אַלע מאשינען?

צום באַדויערן, ניצן "$npm_execpth" צו מאַכן סקריפּס אַרבעט מיט קיין פּעקל פאַרוואַלטער קען נישט רילייאַבלי אַרבעט אויף מאשינען וואָס האָבן אינסטאַלירן Windows.

וואָס איז די מערסט פאַרלאָזלעך וועג צו רופן סקריפּס אין package.json?

דעריבער, די מערסט פאַרלאָזלעך וועג צו רופן דיין מנהג סקריפּס אין די package.json-file איז נאָך צו בפירוש דעפינירן דעם פּעקל מאַנגער עקסעקוטאַבלע און ענשור אַז דיין מאַנשאַפֿט נאָר ניצט דעם איינער.

עס איז בעסער אויף דעוויסעס וואָס טאָן ניט לויפן Windows, ווו איר קענען נוצן "$npm_execpath" צו רילייאַבלי ויספירן די סקריפּס.