Rollup-plugin-typescript2: 将它与汇总插件别名一起使用

创建于 2018-03-13  ·  4评论  ·  资料来源: ezolenko/rollup-plugin-typescript2

找不到模块

环境

节点 v8.9.1

版本

  • 打字稿:2.7.2
  • 汇总:0.56.5
  • 汇总插件typescript2:0.12.0

rollup.config.js

const path = require('path');

import typescript from 'rollup-plugin-typescript2';
import alias from 'rollup-plugin-alias';

export default {
    input: './src/index.ts',
    output: {
        file: 'build.js',
        format: 'umd',
        name: 'build',
    },
    plugins: [
        typescript( ),
        alias( {
            core: path.resolve( __dirname, './src/core' ),
        } ),
    ],
};

tsconfig.json

{
    "compilerOptions": {
        "target": "es2015"
    }
}

包.json

{
  "name": "rollup-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "rollup -c ./rollup.config.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "rollup": "^0.56.5",
    "rollup-plugin-alias": "^1.4.0",
    "rollup-plugin-typescript2": "^0.12.0",
    "typescript": "^2.7.2"
  }
}

TS 文件

// ./src/index.ts
import A from 'core/a';
export { A };
// ./src/core/a.ts
export default function  () {
    const x = 12;
    console.log( x );
};

错误

rollup-demo/src/index.ts(1,15): semantic error TS2307 Cannot find module 'core/a'.

问题

如果单独使用rollup-plugin-alias ,它将起作用。

但是与rollup-plugin-typescript2一起使用,它找不到模块

最有用的评论

我试过这个配置。 在 typescript2 前面设置别名没有帮助 =(

所有4条评论

您是否尝试将 alias() 放在 typescript() 前面?

您可以通过在 tsconfig 中使用baseUrl来解决这个问题吗?

在此处查看更多信息:
https://decembersoft.com/posts/say-goodbye-to-relative-paths-in-typescript-imports/

可能的插件订单

我试过这个配置。 在 typescript2 前面设置别名没有帮助 =(

我在使用@rollup/plugin-alias@rollup/plugin-typescript时遇到了同样的问题。
alias移动到typescript即可解决问题。

此页面是否有帮助?
0 / 5 - 0 等级