我有一个Vue/TypeScript类,它在另一个Vue/TypeScript类上调用公共方法。它与tsc或WebPack一起编译并运行良好。但是当使用rollup和rollup插件vue进行编译时,我得到一个错误,即类型“vue”上不存在属性“close”
复制链接:https://repl.it/@orobert91/PropertyDoesNotExistOnTypeVue
爆米花。vue:
import { Component } from "vue-property-decorator";
import Vue from "vue";
@Component
export default class Popover extends Vue {
public close() {
this.isShown = false;
}
}
日期选择器。vue:
import Popover from "components/commonControls/Popover.vue";
import { Component } from "vue-property-decorator";
import Vue from "vue";
@Component
export default class DatePicker extends Vue {
public $refs!: {
popover: Popover
}
public get myMethod() {
this.$refs.popover.close(); //COMPILATION ERROR HERE
}
}
tsconfig。json配置文件:
{
"compilerOptions": {
"noImplicitAny": true,
"module": "es6",
"target": "es6",
"jsx": "react",
"jsxFactory": "h",
"strict": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"moduleResolution": "node",
"declaration": true,
"declarationDir": "./dist",
"baseUrl": "./src",
"outDir": "./dist",
"plugins": [
{ "transform": "typescript-transform-paths" },
{ "transform": "typescript-transform-paths", "afterDeclarations": true }
]
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"dist"
]
}
rollup.config.js配置文件:
import vue from 'rollup-plugin-vue';
import resolve from 'rollup-plugin-node-resolve';
import cleaner from 'rollup-plugin-cleaner';
import copy from 'rollup-plugin-copy';
import ttypescript from 'ttypescript'
import tsPlugin from 'rollup-plugin-typescript2'
export default {
input: 'src/index.ts',
output: {
format: 'esm',
file: 'dist/index.js'
},
external: ['vue'],
plugins: [
resolve(),
tsPlugin({
typescript: ttypescript
}),
vue(),
cleaner({
targets: [
'./dist/'
]
}),
copy({
targets: [
{ src: 'src/laravel-mix', dest: 'dist/' },
]
})
]
};
我认为您可能有这个问题,因为您没有在您的D
组件中注册Popover
组件atepicker.vue
此外,出现错误的另一个可能原因可能是,您正在使用下面的代码片段来告诉typescript在使用此代码时不要抛出错误$裁判。爆米花。
public $refs!: {
popover: Popover
}
问题内容: 我有一个非常基本的与tsx交互的程序,我收到一个错误,我无法弄清为什么 git 将此代码克隆 问题答案: 拉下您的存储库并进行检查后,我意识到您没有打字稿的反应类型。 键入是管理和安装TypeScript定义的简单方法 添加这行 并再次运行一次即可解决该问题。尝试一下,让我知道这是否可以解决您的问题:) PS:TypeScript要求您描述对象和数据的形状。如果您查看我之前提供的其他答
不过,当我尝试使用firebase数据库时,我做了一个const来获取firebase数据库中的现有房间。get()在线:const roomRef=await database。ref()。get(); 它报告以下错误:D:/react/app/letmeask/src/pages/Home中的TypeScript错误。tsx(35,65):类型“Reference”上不存在属性“get”。TS
问题内容: 我在下面的代码块上收到此错误。 我还发现了表明存在功能的链接。 http://definitelytyped.org/docs/typescript-services-- typescriptServices/classes/typescript.stringutilities.html 我会错过一些文件吗? 问题答案: 是ES6函数,因此您需要以TypeScript编译器设置为目标,
我正在开发一个基于Firabase实时数据库的离子应用程序。当尝试启动应用程序时,im会收到此错误消息。 [ng]src/app/data-service.service.ts(14,36)中出现错误:错误TS2339:类型“{apikey:String;authDomain:String;databaseUrl:String;ProjectId:String;StorageBucket:Stri
我试图按照一个教程来学习react-in-type脚本。然而,当我构建我的解决方案时,我会发现错误。密码 我得到的错误 我遵循以下教程https://www.youtube.com/watch?v=bYFYF2GnMy8 . 任何帮助或指导都将不胜感激
我使用的是完全修补过的Visual Studio 2013。我正在尝试使用JQuery、JQueryUI和JSRender。我也在尝试使用打字。在ts文件中,我得到如下错误: 类型“{}”上不存在属性“fade div”。