CRA 2.0 w / typescript Переопределяет мой tsconfig.json из-за ограничений реализации - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь настроить tailwindcss и работаю с машинописью внутри совершенно нового CRA 2.0 (в частности, 2.1.2).

Я не могу переопределить флаг «isolatedModules»: true без перезаписи CRA.

Я попытался обойти проблему, изменив стиль экспорта из modules.export и принудительно установивконфиг на ложь вместо удаления.Я читал, что вы также можете создать отдельный tsconfig.json, расширить свой старый и переопределить там изменения, но это выглядит странно.

tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "noEmit": true,
    "jsx": "preserve",
    "isolatedModules": true
  },
  "include": [
    "src",
    "postcss.config.js"
  ]
}

postcss.config.json

const tailwindcss = require('tailwindcss');
module.exports = {
  plugins: [tailwindcss('./tailwind.config.js'), require('autoprefixer')]
};

И вот что выдает мой старт npm

The following changes are being made to your tsconfig.json file:
  - compilerOptions.isolatedModules must be true (implementation limitation)

Я вижу, как мое приложение компилируется, работает, а затем рисует на странице, прежде чем оно будет заменено краснымокно с сообщением

Type error: Cannot compile namespaces when the '--isolatedModules' flag is 
provided.  TS1208

  > 1 | const tailwindcss = require('tailwindcss');
      | ^
    2 | module.exports = {
    3 |   plugins: [tailwindcss('./tailwind.config.js'), 
require('autoprefixer')]
    4 | };

Как я могу переопределить это без извлечения или расширения моего tsconfig.json и использования измененной версии в моем приложении.

ОБНОВЛЕНИЕ: Iудалось исправить это, изгнав мое приложение и перейдя непосредственно в webpack-config, чтобы удалить флаг isolatedModules, не так, как я хотел, но он работает.

1 Ответ

0 голосов
/ 03 апреля 2019

Я получил то же самое и добавил

// @ts-ignore 

перед оскорбительным оператором (ами) с require и это исправило.

Удаление - довольно радикальное решение;не рекомендуется.

...