J'obtiens l'erreur suivante lorsque j'essaie de servir mon angular 6 application en utilisant cosmicjs:
Uncaught ReferenceError: process is not defined
at Object../node_modules/cosmicjs/dist/index.js (index.js:6)
at __webpack_require__ (bootstrap:81)
at Object../src/app/app.component.ts (main.js:94)
at __webpack_require__ (bootstrap:81)
at Object../src/app/app.module.ts (app.component.ts:9)
at __webpack_require__ (bootstrap:81)
at Object../src/main.ts (environment.ts:18)
at __webpack_require__ (bootstrap:81)
at Object.0 (main.ts:12)
at __webpack_require__ (bootstrap:81)
Ma dernière théorie a quelque chose à voir avec la propriété process.env non définie.
Je suis ce tutoriel ici
et mon code exact peut être trouvé ici
Le tutoriel semble utiliser une ancienne version de angular qui utilise .angular-cli.json au lieu du nouveau angular.json et je pense que cela fait partie du problème en essayant de spécifier l'environnement variables.
Dans polyfill.ts
, ajoutez cette ligne:
(window as any).process = {
env: { DEBUG: undefined },
};
Référence: https://github.com/algolia/algoliasearch-client-javascript/issues/691
Ou npm i -S process
, puis ajoutez ceci à polyfill.ts
:
import * as process from 'process';
window['process'] = process;
Il s'agit d'une incompatibilité avec Angular v6. Ils support supprimé (shim) des variables process
et global
dans le navigateur.
Je vous suggère d'utiliser Angular 5, jusqu'à ce que cosmic.js corrige l'erreur. Peut-être pouvez-vous même ouvrir un problème pour cela.
Il s'agit d'une incompatibilité avec Angular 6. Ils ont supprimé le support (shim) des variables de processus et globales dans le navigateur.
L'ajout de ce qui suit avant votre fermeture dans votre index.html supprimera l'erreur.
<script>
var global = global || window;
var Buffer = Buffer || [];
var process = process || {
env: { DEBUG: undefined },
version: []
};
</script>