gpt4 book ai didi

typescript - 在baseUrl之外导入文件时汇总+ Typescript错误

转载 作者:行者123 更新时间:2023-12-03 21:22:37 24 4
gpt4 key购买 nike

我组装了一个汇总构建系统,该系统将 Typescript 组件的文件夹导出为模块。

如果组件文件位于文件夹结构中,则构建系统可以完美运行:
src/components/Button
但是当我尝试从 baseUrl 外部导入它们时出现问题意义:
../../javascript/components/Button
一旦我尝试这个,我就会收到以下错误:
[!] Error: The keyword 'interface' is reserved
这就是我的tsconfig文件看起来像:

{
"compilerOptions": {
"jsx": "react",
"module": "es2015",
"target": "es2017",
"moduleResolution": "node",
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"strictNullChecks": true,
"sourceMap": true,
"baseUrl": ".",
"preserveSymlinks": true,
"esModuleInterop": true,
"paths": {
"ui": ["../../components"]
}
},
"include": ["src/**/*.tsx"],
"exclude": ["node_modules"]
}


和我的 rollup.config

import typescript from 'rollup-plugin-typescript2';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import less from 'rollup-plugin-less';
import alias from 'rollup-plugin-alias';

const plugins = [
alias({
ui: '../../components',
resolve: ['.tsx', '.ts', '.less']
}),
resolve(),
commonjs({
// All of our own sources will be ES6 modules, so only node_modules need to be resolved with cjs
include: 'node_modules/**',
namedExports: {
'node_modules/react/index.js': [
'Component',
'PropTypes',
'createElement'
],
'node_modules/lodash/lodash.js': ['isEmpty', 'isString']
}
}),
less({ insert: 'true' }),
typescript()
];

export default {
plugins,
external: ['react'],
input: './src/main.js',
output: {
sourcemap: true,
file: './lib/index.js',
format: 'cjs'
}
};


提前非常感谢!!!

最佳答案

查了一会发现@rollup/plugin-typescript默认情况下仅转换项目根目录内的文件。要覆盖该行为,您需要在 include 中指定插件的选项,您计划使用的文件的 glob,包括项目内部的文件。

import ...


const plugins = [
/* ... */
typescript({
include: [
// Project files
'./**/*.ts+(|x)',
// Files from outside of the project
'../../javascript/**/*.ts+(|x)'
]
})
];

export default {
/* ... */
};


您还需要在您的“tsconfig.json”中执行此操作,因为插件会提示外部文件未在您的 tsconfig 中列出。

关于typescript - 在baseUrl之外导入文件时汇总+ Typescript错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51975831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com