【发布时间】:2017-10-09 13:09:46
【问题描述】:
我以前看过这个回答,但他们似乎没有涵盖这个特定的用例(或者他们不工作/帮助)
import {Route} from 'vue-router';
export const detailRoute = {
path: '/detail/:id',
component: Detail,
props: (route: Route) => ({
state: route.query.state
})
};
detailRoute 使用了我正在导入的 Route,但我猜想作为命名导入 {Route} 它不起作用?有没有一种不同/更好的方法可以做到这一点?我也试过export {Route};,但没有帮助。
tsconfig.json:
{
"compilerOptions": {
"target": "ES2017",
"module": "ES2015",
"moduleResolution": "Node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"allowSyntheticDefaultImports": true,
"noEmitHelpers": true,
"importHelpers": true,
"pretty": true,
"alwaysStrict": true,
"declaration": true,
"declarationDir": "./types",
"lib": [
"DOM",
"ES2017",
"DOM.Iterable",
"ScriptHost"
],
"baseUrl": "./client",
"paths": {
"styles/*": ["./app/core/styles/*"],
"core/*": ["./app/core/*"],
"components/*": ["./app/components/*"],
"containers/*": ["./app/containers/*"],
"assets/*": ["./assets/*"],
"config/*": ["./config/*"]
}
}
}
确切的错误:
TS4023: Exported variable 'detailRoute' has or is using name 'Route' from external module "/Users/chris/<projectname>/node_modules/vue-router/types/router" but cannot be named.
【问题讨论】:
-
从 GitHub 看到这个解决方案:github.com/Microsoft/TypeScript/issues/5711
-
谢谢,这就是我开始的地方,但它似乎没有帮助,或者我错过了一些东西。我导入了 {Route},我尝试导出 {Route},我不知道我还能做些什么来说“Route is in this”。
-
我无法重现您的问题。我正在使用 TypeScript 2.3 和 commonjs 模块。你在用什么?
-
ES6 模块,节点解析,声明 = true;
标签: typescript types module declaration type-inference