Je suis actuellement en train de travailler sur un Tapuscrit de l'application qui est composé de plusieurs Nœud des modules écrits en caractères d'imprimerie, qui sont installés dans l' node_modules
répertoire.
Avant de poursuivre, je tiens à signaler que je suis en utilisant Tapuscrit 2.0, je ne suis pas défavorable à l'utilisation de l'2.1 dev libérer en cas de besoin ainsi. Je veux juste obtenir ce travail.
La structure de chaque Nœud du module est quelque chose le long des lignes de:
dist/
es2015/
index.js
utils/
Calculator.js
Calculator.d.ts
Date.js
Date.d.ts
Flatpack.js
Flatpack.d.ts
src/
index.ts
utils/
Calculator.ts
Date.ts
Flatpack.ts
Le dossier dist est la source générée, ce chemin étant configuré à l'aide d' outDir
à l'intérieur de mon tsconfig.json
le fichier. J'ai aussi configuré le main
propriété dans mes package.json
être dist/es2015/index.js
.
Les choses importantes sont à noter:
- Dans mon projet, je suis à l'aide de
moduleResolution
type d'node
- Je suis à l'aide de la Machine 2.0
- Je ne demande pas comment faire pour importer un fichier à partir de l'intérieur de l'emballage. Je suis d'installer le paquet via Npm, puis de l'importer via
packagename/
depuis l'intérieur d'une application à l'aide de ce module.
Maintenant vient ma question/problème. Tandis que l'importation de fichiers à partir de ce module, je voudrais être capable de faire cela:
import {Sin, Cos, Tan} from "common-utils/utils/Calculator";
Toutefois, le fichier ne peut pas résoudre à l' dist/es2015/utils
répertoire. Idéalement, j'aimerais que mon importations à résoudre à partir de ce dist
le dossier et non pas à partir de la racine, qui est ce qui semble se passer.
L'importation mentionnées ci-dessus doit être écrit comme suit pour le faire fonctionner:
import {Sin, Cos, Tan} from "common-utils/dist/es2015/utils/Calculator";
Toutefois, l'écriture dist/es2015
chaque moment n'est pas idéal et il est tout à fait certains des importations look très long. Est il possible que je peux configurer mon module pour résoudre à l' dist/es2015
annuaire? Je ne veux pas avoir à mettre en substitue à l'intérieur de mon projet, idéalement, chaque module de spécifier l'emplacement où les fichiers sont résolus à partir.
Si vous ne savez toujours pas ce que je demande (et je m'excuse si c'est déroutant) dans Jspm lorsque vous créez un plugin/module pour être utilisé avec Jspm, vous pouvez spécifier à l'intérieur de l' package.json
pour le module de quelque chose comme ce qui suit:
"jspm": {
"registry": "npm",
"jspmPackage": true,
"main": "my-module",
"format": "amd",
"directories": {
"dist": "dist/amd"
},
Je suis à la recherche de l'équivalent d'au-dessus en caractères d'imprimerie (si elle existe). Une cartographie de la directive, de sorte que lorsque l'utilisateur exécute npm install my-cool-package
puis dans leur application tente d'importer quelque chose, toutes les importations par défaut résoudre à l' commonjs
répertoire (l'exemple ci-dessus pour Jspm utilise amd, mais même local).
Est-ce possible ou suis-je malentendu quelque chose ici? Je sais que certains nouveau chemin de cartographie fonctionnalités ont été ajoutées à la dernière version, mais la documentation sur l'utilisation, est presque inexistante.