rollupjs: работа с babel и машинопись, абсолютный импорт без расширения - PullRequest
0 голосов
/ 15 января 2019

Я связываю библиотеку с Rollup и пытаюсь переключиться с rollup-plugin-typescript2 на rollup-plugin-babel для переноса моего машинописного кода.

Это в основном работает, но мне нужно добавить расширения, а абсолютный путь не работает.

С помощью компилятора машинописи я мог бы сделать это:

import MyView from 'routes/myRoute/myView';

route находится в папке src, и у меня есть это в моем tsconfig.json:

...
"baseUrl": ".",
"paths": {
  "*": ["src/*"]
},
...

Чтобы он работал с babel, я должен переключиться на относительный импорт и добавить расширение следующим образом:

import MyView from './routes/myRoute/myView.tsx';

Как я могу настроить babel или / и накопительный пакет, чтобы вернуться к первой реализации?

Вот моя текущая конфигурация подключаемых модулей:

    resolve({
      extensions: ['ts', 'tsx', 'js', 'jsx', '.json'],
      customResolveOptions: {
        moduleDirectory: 'node_modules',
      },
      jail: '/src',
    }),
    babel({
      babelrc: false,
      configFile: false,
      envName: env === 'prod' ? 'production' : 'development',
      exclude: 'node_modules/**',
      extensions: ['ts', 'tsx', 'js', 'jsx', '.json'],
      plugins: [
        [
          'module-resolver',
          {
            extensions: ['ts', 'tsx', 'js', 'jsx', '.json'],
            root: ['./src'],
          },
        ],
      ],
      presets: [
        '@babel/preset-typescript',
        '@babel/preset-react',
        [
          '@babel/preset-env',
          {
            modules: false,
          },
        ],
      ],
    }),

(да, я помещаю расширения везде, в надежде, что они будут работать)

1 Ответ

0 голосов
/ 15 января 2019

Вам необходимо определить расширения TypeScript в файле .babelrc.Вам нужно сделать что-то похожее на это:

"plugins": [
    [
      "module-resolver",
      {
        "extensions": [
          ".js",
          ".jsx",
          ".ts",
          ".tsx"
        ],
        "root": [
          "./src"
        ]
      }
    ]
  ]

Смотрите подробный пример здесь: https://github.com/damassi/babel-7-typescript-example

...