vue+ts入门工程搭建,并引入第三方js插件,父子传值问题等

写在前面,说一下我对ts的个人看法吧。(大佬勿喷!)
对于项目而言是用ts还是js这个看情况吧,反正混用也不冲突(反正是使用vue-property-decorator)。
js方便快捷,ts相对而言严谨,规范点(静态类型语言,所写即所得),但是生态感觉js还是强于ts的,js用起来方便。前端用框架vue感觉js+ts都行吧没必要非要用那一种,react的话ts应该爽一点。如果构建原生的感觉ts要好一点。

1,安装vue-cli脚手架,这里不赘述。

npm install -g @vue/cli

2,创建vue+ts的工程

vue create my-project-name

enter以后选择自定义的安装(选择 "Manually select features (手动选择特性)" 选项。)

<h1>{{ msg }}</h1> <div class="tree-main"><TreeChart :json="treeData" /></div> <button @click="saveBtn">Ecosystem</button> </template> <script lang="ts"> import { Component, Prop, Vue, Emit } from 'vue-property-decorator'; import TreeChart from "vue-tree-chart"; @Component({ components:{ TreeChart export default class HelloWorld extends Vue { @Prop() private msg!: string; @Emit('toData') emitVal(num: string) { // 这里是emit传值的时候可以添加一些方法 private saveBtn() { this.emitVal('123456789') private treeData = { name: 'root', image_url: require('@/assets/logo.png'), children: [ name: 'children1', image_url: require('@/assets/logo.png') name: 'children2', image_url: require('@/assets/logo.png'), mate: { name: 'mate', image_url: require('@/assets/logo.png') children: [ name: 'grandchild', image_url: require('@/assets/logo.png') name: 'grandchild2', image_url: require('@/assets/logo.png') name: 'grandchild3', image_url: require('@/assets/logo.png') name: 'children3', image_url: require('@/assets/logo.png') </script>

5,直接引入js的插件会报错问题

Could not find a declaration file for module 'XXX'

提示找不到申明模块,要你去.d.ts文件里面声明一下。找到shims-vue.d.ts文件