Cosmicjsを使用してangular 6アプリケーションを提供しようとすると、次のエラーが表示されます。
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)
私の最新の理論は、process.envプロパティが未定義であることと関係しています。
私はこのチュートリアルに従っています here
そして私の正確なコードは見つけることができます here
チュートリアルでは、新しいangle.jsonの代わりに.angular-cli.jsonを使用する古いバージョンのangularを使用しているようです。これは、環境を指定する際の問題の一部だと思います変数。
polyfill.ts
で、次の行を追加します。
(window as any).process = {
env: { DEBUG: undefined },
};
参照: https://github.com/algolia/algoliasearch-client-javascript/issues/691
またはnpm i -S process
、次にこれをpolyfill.ts
に追加します。
import * as process from 'process';
window['process'] = process;
これは、Angular 6との非互換性です。彼らは、ブラウザのプロセスおよびグローバル変数のサポート(シム)を削除しました。
Index.htmlを閉じる前に次を追加すると、エラーが削除されます。
<script>
var global = global || window;
var Buffer = Buffer || [];
var process = process || {
env: { DEBUG: undefined },
version: []
};
</script>