当前位置: 首页 > 知识库问答 >
问题:

系统js语法错误,IE11

谭梓
2023-03-14

我有一个在firefox和chrome中工作的angular 2应用程序,而不是在IE中工作。根据我的堆栈跟踪,我的系统js设置似乎有问题。

下面是我在web控制台中看到的错误描述。

Error: (SystemJS) Syntax error
SyntaxError: Syntax error
   at ZoneDelegate.prototype.invoke (http://localhost:8050/node_modules/zone.js/dist/zone.js:230:13)
   at Zone.prototype.run (http://localhost:8050/node_modules/zone.js/dist/zone.js:114:17)
   at Anonymous function (http://localhost:8050/node_modules/zone.js/dist/zone.js:502:17)
Evaluating http://localhost:8050/app/app.module.js
Error loading http://localhost:8050/app/app.module.js as "./app.module" from http://localhost:8050/app/main.js

它看起来找不到我的

app/app.module.js
<script src="/node_modules/core-js/client/shim.min.js"></script>
<script src="/node_modules/systemjs/dist/system-polyfills.src.js"></script>

看起来请求正试图命中

URL Protocol    Method  Result  Type    Received    Taken   Initiator   Wait‎‎  Start‎‎ Request‎‎   Response‎‎  Cache read‎‎    Gap‎‎
/node_modules/systemjs/dist/Promise.js.map  HTTP    GET 404 text/html   210 B   16 ms   XMLHttpRequest  140 0   16  0   0   5266

或者promise.js.map在systemjs文件夹中,但我没有它。

那么,几个新问题

<script src="/node_modules/systemjs/dist/system-polyfills.src.js"></script>

我已经尝试将在tsconfig.json中找到的ES6目标切换到ES5目标,如下所示。现在,当我尝试构建时,我得到了一系列其他问题,堆栈跟踪可以通过这篇文章很好地描述。

通过切换到ES5目标,我无法访问地图、promise等...

我已经试着研究了这个问题的一些修复方法,比如添加以下内容

///<reference path="node_modules/angular2/typings/browser.d.ts"/>
<script src="/node_modules/core-js/client/shim.min.js"></script>
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);

如果我注释掉第三行,web控制台中的错误就会消失,但现在我的应用程序当然不会引导。

只是为了好玩,下面是我的tsconfig.json

{                                                                                                                                                                                                                  
  "compilerOptions": {                                                                                                                                                                                             
  "target": "es6",                                                                                                                                                                                               
  "module": "system",                                                                                                                                                                                            
  "moduleResolution": "node",                                                                                                                                                                                    
  "experimentalDecorators": true                                                                                                                                                                                 
},                                                                                                                                                                                                               
  "exclude": [                                                                                                                                                                                                       
    "node_modules",                                                                                                                                                                                                
    "jspm_packages"                                                                                                                                                                                                
  ]                                                                                                                                                                                                                
}  

共有1个答案

纪晨
2023-03-14

我终于明白了,这并不容易。我需要解决一些不同的问题。

1)我需要将tsconfig.json中的“目标”设置为“ES5”

{                                                                                                                                                                                                                  
  "compilerOptions": {                                                                                                                                                                                             
      "target": "es6",       ==>    "target" : "es5",                                                                                                                                                                                           
      "module": "system",                                                                                                                                                                                            
      "moduleResolution": "node",                                                                                                                                                                                    
      "experimentalDecorators": true                                                                                                                                                                                 
  },                                                                                                                                                                                                               
  "exclude": [                                                                                                                                                                                                       
      "node_modules",                                                                                                                                                                                                
      "jspm_packages"                                                                                                                                                                                                
  ]                                                                                                                                                                                                                
}

2)我需要在index.html文件中包含正确的shim

<script src="/node_modules/core-js/client/shim.min.js"></script>
node_modules/rxjs/operator/toPromise.d.ts(7,59): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(7,69): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(9,9): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(10,26): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(10,36): error TS2304: Cannot find name 'Promise'.
/// <reference path= "../node_modules/typescript/lib/lib.es6.d.ts" />
 类似资料:
  • 具体参见:com.gitee.easyopen.message.Errors.java 注:0~100为系统占用的code码 -9=系统错误 1=调用不存在的服务请求 2=服务请求参数非法 3=服务请求缺少应用键参数 4=服务请求的应用键参数无效 5=服务请求需要签名,缺少签名参数 6=服务请求的签名无效 7=服务请求超时 8=服务请求业务逻辑出错 9=服务不可用 10=服务请求时间格式有误 11

  • 不论是在我自己机器上还是其他主机上,只要部署了dokuwiki,其系统时间(也就是修改或者提交的记录时间)都会比我的本机时间晚8个小时。比如,我的本机时间是2011\9\20 22:00:00,那么记录时间就会是2011\9\20 14:00,请问如果要更改为本机时间,怎么修改? 1楼的。。。是修改linux系统的cmos时间吧,牛头不对马嘴。。。。。。 我的dokuwiki是部署在windows

  • 系统语言 设定自家选单等的显示语言。 Deutsch 以德文显示 English 以英文显示 Español 以西班牙文显示 Français 以法文显示 Italiano 以意大利文显示 Nederlands 以荷兰文显示 Português 以葡萄牙文显示 Pyccкий 以俄文显示 以日文显示 以韩文显示 以简体中文显示 以繁体中文显示

  • 可设定PS Vita的系统软件的显示语言。 若要变更设定,需先关闭所有使用中的应用程序。 Dansk 以丹麦语显示 Deutsch 以德语显示 English (United Kingdom) 以英语(英国)显示 English (United States) 以英语(美国)显示 Español 以西班牙语显示 Français 以法语显示 Italiano 以意大利语显示 Nederlands

  • 我使用贝宝在我的Android商店,它工作正常,可以成功结账时使用"Paypal"。但当我尝试使用"用卡支付"的错误信息是: 请求失败,http状态代码:400,异常:请求错误 请求失败,服务器响应:{“名称”:“DCC_预处理器错误”,“消息”:“DCC_预处理器错误”,“信息链接”:https://developer.paypal.com/docs/api/#DCC_PREPROCESSOR_

  • 我的系统有两个问题。记录我正在解决一些问题。该网站似乎运行良好,但我非常希望从日志中删除这些正在进行的错误。 注意:未定义变量:order in/var/www/。。。在线17 警告:在/var/www/…中被零除。。。在线267 更新 我之前发布了错误的代码对不起,我在查看错误日志时感到困惑,因为相同的(Devider)错误出现在商品和订单部分