Knoten v8.9.1
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' ),
} ),
],
};
{
"compilerOptions": {
"target": "es2015"
}
}
{
"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"
}
}
// ./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'.
Wenn Sie nur rollup-plugin-alias
verwenden, wird es funktionieren.
aber wenn rollup-plugin-typescript2
zusammen verwendet werden, kann es das Modul nicht finden
Haben Sie versucht, alias() vor typescript() zu platzieren?
Können Sie dies umgehen, indem Sie baseUrl
in tsconfig verwenden?
Weitere Informationen finden Sie hier:
https://decembersoft.com/posts/say-goodbye-to-relative-paths-in-typescript-imports/
Wahrscheinlich Plugin-Bestellsache
Ich habe diese Konfiguration ausprobiert. Alias vor typescript2 setzen hat nicht geholfen =(
Ich bin auf das gleiche Problem gestoßen, als ich @rollup/plugin-alias
und @rollup/plugin-typescript
verwendet habe.
Das Bewegen alias
zwischen typescript
löst das Problem.
Hilfreichster Kommentar
Ich habe diese Konfiguration ausprobiert. Alias vor typescript2 setzen hat nicht geholfen =(