mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
Use typescript api for user pictures and allow imports across js files
* Add imports paths for js files in node * Add a ts version of fetchPaginated * Update documentation
This commit is contained in:
39
docs/howto/js-import-paths.md
Normal file
39
docs/howto/js-import-paths.md
Normal file
@ -0,0 +1,39 @@
|
||||
Vous avez ajouté une application et vous voulez y mettre du javascript ?
|
||||
|
||||
Vous voulez importer depuis cette nouvelle application dans votre script géré par webpack ?
|
||||
|
||||
Eh bien il faut manuellement enregistrer dans node où les trouver et c'est très simple.
|
||||
|
||||
D'abord, il faut ajouter dans node via `package.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
// ...
|
||||
"imports": {
|
||||
// ...
|
||||
"#mon_app:*": "./mon_app/static/webpack/*"
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
Ensuite, pour faire fonctionne l'auto-complétion, il faut configurer `tsconfig.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"compilerOptions": {
|
||||
// ...
|
||||
"paths": {
|
||||
// ...
|
||||
"#mon_app:*": ["./mon_app/static/webpack/*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Et c'est tout !
|
||||
|
||||
!!!note
|
||||
|
||||
Il se peut qu'il soit nécessaire de redémarrer `./manage.py runserver` pour
|
||||
que les changements prennent effet.
|
@ -35,8 +35,9 @@ les fichiers sont à mettre dans un dossier `static/webpack` de l'application à
|
||||
Pour accéder au fichier, il faut utiliser `static` comme pour le reste mais en ajouter `webpack/` comme prefix.
|
||||
|
||||
```jinja
|
||||
{# Exemple pour ajouter sith/core/webpack/alpine-index.js #}
|
||||
{# Example pour ajouter sith/core/webpack/alpine-index.js #}
|
||||
<script src="{{ static('webpack/alpine-index.js') }}" defer></script>
|
||||
<script src="{{ static('webpack/other-index.ts') }}" defer></script>
|
||||
```
|
||||
|
||||
!!!note
|
||||
@ -45,6 +46,16 @@ Pour accéder au fichier, il faut utiliser `static` comme pour le reste mais en
|
||||
Les autres fichiers sont disponibles à l'import dans le JavaScript comme
|
||||
si ils étaient tous au même niveau.
|
||||
|
||||
### Les imports au sein des fichiers de webpack
|
||||
|
||||
Pour importer au sein de webpack, faut préfixer ses imports de `#app:`.
|
||||
|
||||
Example:
|
||||
|
||||
```js
|
||||
import { paginated } from "#core:utils/api";
|
||||
```
|
||||
|
||||
## Comment ça fonctionne le post processing ?
|
||||
|
||||
Le post processing est géré par le module `staticfiles`. Les fichiers sont
|
||||
|
Reference in New Issue
Block a user