当尝试使用ServiceStack附带的cli工具进行TypeScript时,我一直遇到DefaultImports
功能无法正常工作或以任何特殊有用的方式工作。使用此功能的正确方法是什么?
例如:
/* Options:
Date: 2019-02-08...
...
//ExcludeTypes:
DefaultImports: Example
*/
将输出
import Example;
这是无效的,我期望的格式为import Example from ExampleModule
。我是否完全缺少某些东西,或者我的理解是错误的?
DefaultImports: Example from ExampleModule
导致import ExamplefromExampleModule;
出现乱码。用引号将它们也无济于事。
答案 0 :(得分:0)
野兔是一些不同的DefaultTypes
进口商品的热门示例:
import 'es6-shim';
import './my-module.js';
import $ from 'JQuery';
import * as Zip from './ZipCodeValidator';
我还刚刚添加了对流行的Symbol:module
导入的简短支持,该导入将在其中发出:
import { Symbol } from "module";
此更改可从v5.4.1(现在为available on MyGet)中获得。
我无法使用最新版本重现您的确切问题,因此建议您首先升级用于获取dto的工具。
如果使用@servicestack/cli npm工具,则可以通过卸载并重新安装来升级:
$ npm uninstall @servicestack/cli
$ npm i -g @servicestack/cli
然后通过检查版本来检查您是否至少使用了 v1.0.7 :
$ typescript-ref -v
Version: 1.0.7
然后,您可以通过运行不带参数的工具来更新目录中的任何*dtos.ts
,例如:
$ typescript-ref
使用两种新的Symbol:Module
语法,尝试使用https://techstacks.io DTO(运行最新的ServiceStack v5.4.1 on MyGet)来达到预期效果:
/* Options:
...
DefaultImports: Zip:./ZipCodeValidator
*/
生成预期的导入:
import { Zip } from "./ZipCodeValidator";
您尝试的导入也可以:
/* Options:
...
DefaultImports: * as Zip from './ZipCodeValidator'
*/
哪个生成了预期的结果:
import * as Zip from './ZipCodeValidator';
如果仍然无法使用,则需要升级要从中生成DTO的API的ServiceStack版本。
您可以通过使用最新版本的ServiceStack从https://techstacks.io生成DTO来检查该工具本身是否起作用:
$ typescript-ref https://techstacks.io
除了使用@servicestack/cli
npm工具之外,您还可以使用web or app tool并安装:
$ dotnet tool install -g web
并使用以下命令进行更新:
$ dotnet tool update -g web
使用以下命令检查您运行的是最新的0.0.16
版本:
$ web -v
Version: 0.0.16
然后,您可以使用web ts
代替typescript-ref
(或ts-ref
)的npm工具,例如通过以下方式安装DTO:
$ web ts https://techstacks.io
使用以下方法更新DTO:
$ web ts