Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 获取分析错误:意外标记,应为“0”&引用;_Javascript_Reactjs_Typescript_Tslint - Fatal编程技术网

Javascript 获取分析错误:意外标记,应为“0”&引用;

Javascript 获取分析错误:意外标记,应为“0”&引用;,javascript,reactjs,typescript,tslint,Javascript,Reactjs,Typescript,Tslint,我正在做一个大的React+TypeScript项目 它在其他同事的本地机器上运行良好,但在我的机器上出现以下错误: Line 1: Parsing error: Unexpected token, expected ";" 如下所示: 以下是源代码: export type LoadOfferType = typeof import("../offers/defaultOffer"); export const loadOffer = async (): Promise<Load

我正在做一个大的
React+TypeScript
项目

它在其他同事的本地机器上运行良好,但在我的机器上出现以下错误:

Line 1:  Parsing error: Unexpected token, expected ";"
如下所示:

以下是源代码:

export type LoadOfferType = typeof import("../offers/defaultOffer");

export const loadOffer = async (): Promise<LoadOfferType> => {
  const offerName = process.env.NODE_ENV === "development" ? process.env.REACT_APP_FALLBACK_SITE : "defaultOffer";

  /**
   * We use a switch statement instead of ane xpression for the offer path
   * because Webpack throws a critical dependency error when using paths
   * that are not explicitly defined.
   */
  switch (offerName) {
    case "mysite.com":
      return await import("../offers/mysite.com");
    default:
      return await import("../offers/defaultOffer");
  }
};
这里有一些关于我的系统的信息:

$ node -v
v12.13.0

$ npm -v
6.12.0

$ yarn -v
1.19.1
你知道怎么解决这个问题吗


谢谢

您肯定使用的是旧版本的TypeScript。你的语法完全正确

测试 示例测试在本地完成。
可能会发生一些事情。您是否使用ts配置和解析器配置创建了一个ts.config.js,类似于:

 export const typescriptConfig = {
 extends: ['plugin:@typescript-eslint/eslint- 
 recommended'],
 overrides: [
   {
     parser: '@typescript-eslint/parser',
     extends: [
       'plugin:@typescript-eslint/recommended',
       'prettier/@typescript-eslint',
       'plugin:import/typescript',
     ],
     plugins: ['@typescript-eslint'],

     files: ['*.ts', '*.tsx'],

     rules: {},
   },
 ],
}

createreact应用程序默认使用ESLint。但是,默认情况下,ESLint无法解析TypeScript。如果需要,可以考虑使用@ Type EsScript /解析器。 这可能是因为基本的babel eslint解析器在没有任何配置的情况下无法正常工作。 ESLint没有对不同的文件应用不同的解析器,因此babel ESLint可能会抛出错误


确保在项目的根目录中创建配置文件。我会从这个开始

你能粘贴
“./offer/defaultOffer”
的内容吗?当动态导入位于文件顶部并且看起来总是会被加载时,为什么要使用它?为什么不导出类型LoadOfferType=typeof require(“../offers/defaultOffer”)?也可能您使用的TypeScript版本不正确。v2.4中添加了动态导入,您的配置中需要有
“模块”:“esnext”
 export const typescriptConfig = {
 extends: ['plugin:@typescript-eslint/eslint- 
 recommended'],
 overrides: [
   {
     parser: '@typescript-eslint/parser',
     extends: [
       'plugin:@typescript-eslint/recommended',
       'prettier/@typescript-eslint',
       'plugin:import/typescript',
     ],
     plugins: ['@typescript-eslint'],

     files: ['*.ts', '*.tsx'],

     rules: {},
   },
 ],