我正在从事一个.net核心项目,所有客户端脚本都是用类型记录编写的,我想在类型记录中使用Vue.js。守则如下:
tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"target": "es5",
"outDir": "wwwroot/js",
"moduleResolution": "node",
"module": "es2015",
"typeRoots": [
"node_modules/@types"
]
},
"compileOnSave": true,
"include": [
"TypeScripts"
]
}
我的package.json有vue作为DevelopmentDependency。
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"@types/bootstrap": "3.3.36",
"@types/jquery": "3.3.22",
"@types/jquery-backstretch": "^2.0.15",
"@types/jquery-validation-unobtrusive": "^3.2.32",
"@types/jquery.form": "3.26.30",
"@types/jquery.validation": "^1.16.4",
"@types/jstree": "3.3.35",
"@types/select2": "4.0.42",
"@types/moment": "2.11.28",
"vue": "2.5.22",
"vue-ctk-date-time-picker": "2.0.0",
"vue-datetime": "^1.0.0-beta.8"
"del": "^3.0.0",
"gulp": "4.0.0",
"gulp-concat": "2.6.1",
"gulp-cssmin": "0.2.0",
"gulp-htmlmin": "5.0.1",
"gulp-sass": "4.0.2",
"gulp-uglify": "3.0.1",
"luxon": "^1.9.0",
"merge-stream": "1.0.1",
}
}
对于所有其他的dev依赖项,我从不需要将导入语句添加到ts文件的顶部,因为我在/wwwroot/js/中编译ts文件,然后将它们打包到一个文件中。所以在运行时,当我将所有脚本加载到客户端的浏览器中时,没有错误,所有的事情都没有问题。但是对于vue.js来说不是这样的,我试图在类型记录中使用vuejs,但是如果我没有添加导入,那么就会出现许多类型记录编译器错误。当我从‘Vue’语句中添加导入vue时。编译器运行时没有错误,但这一次我在chrome控制台中有异常,如下所示:
Uncaught :如下所示的意外标识符。
。
用于我的ts文件的部分也如下所示:
import Vue from 'vue';
class Exam {
addExamVueApp : Vue;
init() {
this.initVue();
this.initCategoryTree();
}
private initVue() {
this.addExamVueApp = new Vue({
el: '#addExamVueAppRoot',
data: {
page: 1,
...
编辑:实际上,如果我可以以某种方式对不包括生成的js文件中的导入语句的类型记录说,我将没有错误,我测试了,从js文件中删除了导入,以及应用程序工作,无一例外。
发布于 2020-05-17 13:34:40
在typeRoots中添加vue的路径解决了这个问题。对于devDepndencies,我也不需要添加导入语句。
"typeRoots": [
"node_modules/@types", "node_modules/vue"
]
https://stackoverflow.com/questions/54367719
复制相似问题