Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度6-尝试为应用程序提供服务时未定义流程_Javascript_Angular_Angular6 - Fatal编程技术网

Javascript 角度6-尝试为应用程序提供服务时未定义流程

Javascript 角度6-尝试为应用程序提供服务时未定义流程,javascript,angular,angular6,Javascript,Angular,Angular6,当我尝试使用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

当我尝试使用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属性未定义有关

我正在学习这个教程

我的确切密码可以找到


本教程似乎使用了angular的旧版本,该版本使用.angular-cli.json而不是新的angular.json,我认为这是试图指定环境变量的问题的一部分。

这与angular v6不兼容。浏览器中的
过程
全局
变量(垫片)


我建议您使用Angular 5,直到修复错误。也许你甚至可以为它打开一个问题

polyfill.ts
中,添加以下行:

(window as any).process = {
  env: { DEBUG: undefined },
};
参考:


npm i-S过程
,然后将其添加到
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>

var global=全局| |窗口;
var Buffer=Buffer | |[];
var过程=过程| |{
环境:{DEBUG:undefined},
版本:[]
};

为了解决这个问题,我在“polyfills.ts”文件中添加了以下行:

(window as any).global = window;
global.Buffer = global.Buffer || require('buffer').Buffer;
global.process = require('process');

只要您不满意将一些随机逻辑放入
polyfills.ts
中,并寻找在您的Angular应用程序中实际访问
process.env
的方法,请找到以下解决方案


“生成器”:“@angular-devkit/build-angular:dev-server”
更改为
“生成器”:“@angular-builders/custom-webpack:dev-server”
中的
angular.json

Thx,以获取指向filipesilva注释的链接。理解为什么存在这种不兼容是非常有用的。事实上,我们不应该使用变通方法使“路径”、“fs”或其他节点模块在浏览器中工作。。。我们不应该使用它们,如果需要,可以使用多边形填充。