【问题标题】:rollupjs : working with babel and typescript, absolute imports without the extensionrollupjs :使用 babel 和 typescript,不带扩展名的绝对导入
【发布时间】:2019-06-09 08:19:39
【问题描述】:

我将一个库与 Rollup 捆绑在一起,并尝试从 rollup-plugin-typescript2 切换到 rollup-plugin-babel 以转换我的打字稿代码。

这主要是工作,但我需要添加扩展,绝对路径不起作用。

使用 typescript 编译器,我可以这样做:

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,
          },
        ],
      ],
    }),

(是的,我到处都放了扩展,希望它能起作用)

【问题讨论】:

    标签: typescript babeljs rollup rollupjs


    【解决方案1】:

    您需要在 .babelrc 文件中定义 TypeScript 扩展。你需要做类似的事情:

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

    查看详细示例:https://github.com/damassi/babel-7-typescript-example

    【讨论】:

    • 是的,我认为答案围绕着它。但这几乎是我已经拥有的。请参阅我编辑的问题。
    • 您可以尝试两件事:在每个扩展中添加点或在模块解析器配置中添加以下行:"stripExtensions": [".js", ".jsx", ".ts", ".tsx"]
    • 我回到了打字稿插件:(
    猜你喜欢
    • 2019-10-05
    • 2020-04-03
    • 2020-07-28
    • 2023-02-09
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    相关资源
    最近更新 更多