npm пакет. json псевдонимы, такие как веб-пакет - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь создать псевдоним модуля, но я не уверен, как это сделать с пакетом. json

в веб-пакете вы бы сделали что-то вроде этого:

module.exports = {
  //...
  resolve: {
    alias: {
      'pixi.js': 'pixi.js-legacy'
    }
  }
};

Но что такое эквивалент без веб-пакета?

Ответы [ 2 ]

1 голос
/ 23 января 2020

Для этого есть пакет npm: module-alias .

После установки вы можете добавить свои псевдонимы в пакет. json, например:

"_moduleAliases": {
  "@root"      : ".", // Application's root
  "@deep"      : "src/some/very/deep/directory/or/file",
  "@my_module" : "lib/some-file.js",
  "something"  : "src/foo", // Or without @. Actually, it could be any string
}

Обязательно добавьте эту строку в начало основного файла вашего приложения:

require('module-alias/register');

Вы должны использовать это только в конечных продуктах (а не в пакетах, которые вы собираетесь опубликовать sh) в npm или в другом месте) - изменяет поведение require.

0 голосов
/ 16 апреля 2020

Начиная с NPM Версия 6.9 поддерживается без установки каких-либо дополнительных пакетов:

$ npm i aliasName@npm:packageToInstall

⬇⬇⬇

// package.json
"dependencies": {
    "aliasName": "npm:packageToInstall@^1.6.1"
}

Похоже, идея что npm: является URI-подобной схемой в спецификаторе версии зависимости .

const alias = require( 'aliasName' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...