vue3.0+typeScript项目
https://segmentfault.com/a/1190000018720570#articleHeader15
https://segmentfault.com/a/1190000016423943
https://www.jianshu.com/p/fbcad30031c2
我的github项目地址: https://github.com/zhaofangmei/vue-typescript-demo.git
踩坑记:
1、配置完路由后,无法在组件中使用this.route和this. route和this.route和this.router(需要修改src目录下shims-vue.d.ts文件)
import Vue from 'vue';
import VueRouter, { Route } from 'vue-router'; declare module "*.vue" {
export default Vue;
} declare module 'vue/types/vue' {
interface Vue {
$router: VueRouter; //这表示this下有这个东西
$route: Route;
}
}
2、在项目中使用vue+typescript的组合,但是mounte钩子没有触发
<script lang="ts">
import { Vue, Component, Watch } from "vue-property-decorator";
import { Route } from "vue-router"; @Component
export default class App extends Vue {
private isShowNav: boolean = true;
mounted(): void {
console.log(11111111111);
this.routeChange(this.$route, this.$route);
}
@Watch("$route")
routeChange(val: Route, oldVal: Route): void {
console.log(val, oldVal);
}
}
</script>
3、项目安装了element-ui的依赖包,main.ts全局引入了,element-ui样式就是没有显示,引入不了(vue.config.js的css.modules设置为false)-- webpack 配置
推荐网址: https://cli.vuejs.org/zh/config/#css-modules
const path = require("path");
const sourceMap = process.env.NODE_ENV === "development";
module.exports = {
// 基本路径
publicPath: "./",
// 输出文件目录
outputDir: "dist",
// eslint-loader 是否在保存的时候检查
lintOnSave: false,
// webpack配置
// see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
chainWebpack: () => {},
configureWebpack: config => {
if (process.env.NODE_ENV === "production") {
// 为生产环境修改配置...
config.mode = "production";
} else {
// 为开发环境修改配置...
config.mode = "development";
}
Object.assign(config, {
// 开发生产共同配置
resolve: {
extensions: [".js", ".vue", ".json", ".ts", ".tsx"],
alias: {
vue$: "vue/dist/vue.js",
"@": path.resolve(__dirname, "./src"),
"@c": path.resolve(__dirname, "./src/components"),
less: path.resolve(__dirname, "./src/less"),
}
}
});
},
// 生产环境是否生成 sourceMap 文件
productionSourceMap: sourceMap,
// css相关配置
css: {
// 是否使用css分离插件 ExtractTextPlugin
extract: true,
// 开启 CSS source maps?
sourceMap: false,
// css预设器配置项
loaderOptions: {},
// 启用 CSS modules for all css / pre-processor files.
modules: false
},
// use thread-loader for babel & TS in production build
// enabled by default if the machine has more than 1 cores
parallel: require("os").cpus().length > 1,
// PWA 插件相关配置
// see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
pwa: {},
// webpack-dev-server 相关配置
devServer: {
open: process.platform === "darwin",
host: "localhost",
port: 3001, //8080,
https: false,
hotOnly: false,
proxy: {
// 设置代理
// proxy all requests starting with /api to jsonplaceholder
"/api": {
target: "http://localhost:3000/",
changeOrigin: true,
ws: true,
pathRewrite: {
"^/api": ""
}
}
},
before: app => {}
},
// 第三方插件配置
pluginOptions: {
// ...
}
};
vue3.0+typeScript项目的更多相关文章
- vue3.0创建项目和基本配置
借鉴博客:https://www.jianshu.com/p/6307c568832d/ https://www.cnblogs.com/KenFine/p/10850386.html 项目创建好后, ...
- vue3.0搭建项目
安装node.js 查看版本node -v 安装vue3.0版本之前需要先把vue-cli升级到4.0版本, 如果之前安装过vue-cli需要把2.0相关的卸载之后重新安装,npm uni -g vu ...
- vue-cli3.0 Typescript 项目集成环信WebIM 群组聊天
项目背景 环信webim 官方没有vue版本的,自己就根据sdk重写了个vue版本的,只实现了基础的 登录 群组功能,其他的可以根据需要参考官方文档,添加相应的功能. 环信webim SDK相关文档: ...
- vue-cli脚手架搭建vue3.0+typescripe项目
新开个项目,小项目,小.顺手就用vue吧,vue3出来也几个月了,直接上了吧.一年多没用vue了,用的时候也得再熟悉,不如直接干3了! vue官方推荐使用的脚手架是 Vite 和 vue-cli ,延 ...
- vue-3.0创建项目
.npm install --global @vue/cli .npm install -g @vue/cli-init .vue init webpack my-project
- Vue3.0+TypeScript
序言 资料 https://www.cnblogs.com/chanwahfung/p/11968205.html
- vue3.0+vite项目搭建
npm init vite-app <project-name> cd <project-name> 根据控制台的提示执行: npm install / yarn npm ru ...
- 从零搭建vue3.0项目架构(附带代码、步骤详解)
前言: GitHub上我开源了vue-cli.vue-cli3两个库,文章末尾会附上GitHub仓库地址.这次把2.0的重新写了一遍,优化了一下.然后按照2.0的功能和代码,按照vue3.0的语法,完 ...
- 基于 Vue3.0 Composition Api 快速构建实战项目
Quick Start 项目源码:https://github.com/Wscats/vue-cli 本项目综合运用了 Vue3.0 的新特性,适合新手学习
随机推荐
- pureftp 超时 mlsd
问题起因,新项目搭建系统环境,ftp总有问题 能连接成功,但总是时好时不好,解决处理,忘有用 mlsd 超时列目录问题 (一会好一会不好) # a.指定被动端口中,如20000-60000,在ipta ...
- [转帖]从光刻机的发展,看懂ASML为何是不可取替
从光刻机的发展,看懂ASML为何是不可取替 http://mini.eastday.com/mobile/171230223351249.html# 2017-12-30 22:33 来源:半导 ...
- JavaIO -- Reader 和 Writer
一.简介 设计Reader和Writer继承层次结构主要是为了国际化.InputStream和OutStream流继承层次结构仅支持8位字节流,并不能很好的处理16位的Unicode字符.由于Unic ...
- 还是a+b
题目描述: 给定 2 个正整数 a, b,a 和 b 最多可能有 40 位,求出 a + b 的和.输入描述: 两个正整数 a, b,a 和 b 最多可能有 40 位.一行表示一个数.输出描述: a ...
- centos7.6 yum安装mysql5.7版本
由于mysql5.5及之前的版本一些项目上线报错 卸载: 首先删除centos上原来的mysql老版本,注意备份,清理干净. 之前怎么安装的清理,防止卸载不干净会有冲突. 我之前yum安装mysql5 ...
- preg_replace
preg_replace — 执行一个正则表达式的搜索和替换 说明: preg_replace ( mixed $pattern , mixed $replacement , mixed $subje ...
- egret 微信小游戏 错误
1,使用jszip错误 (1) t.createElementNS is not a function 修改:webapp-adapter.js,增加一个方法 createElementNS: f ...
- 利用Supervisor 管理自己部署的应用程序
首先,在centos7下安装supervisor yum install python-setuptools easy_install supervisor 然后新建配置文件 #新建superviso ...
- powerdesign中逆向工程后name和comment的互换
powerdesign 中,将数据库中可以逆向生成pdm的结构图,比较清晰看到系统的结构, 但假如是db先行的话,一般是db中的每个列中用comment中文注释说明这列是 干什么的,但逆向工程后,会发 ...
- MySQL5.6.11安装步骤(Windows7 64位)
1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 ...