精华内容
下载资源
问答
  • 2021-01-20 11:01:00

    描述

    • 在使用ts的时候,最大的一个好处就是可以给js各种类型约束,使得js能够完成静态代码分析,推断代码中存在的类型错误或者进行类型提示
    • ts完成类型推断,需要事先知道变量的类型,如果我们都是用ts书写代码,并且给变量都指定了明确的类型,这时ts可以很好的完成类型推断工作
    • 但是有时,我们不免会引入外部的 js 库,这时ts就对引入的js文件里变量的具体类型不明确了,为了告诉ts变量的类型,因此就有了.d.ts (d即declare),ts的声明文件。

    举例

    • 比如我们在项目中使用了jQuery,那么对ts来说,它并不清楚jQuery或者$是什么类型,因此需要我们对它进行声明,例如:

      declare var jQuery: (selector: string) => any;
      
    • 而这些声明我们常常放在.d.ts文件中,同时注意,声明文件只包含类型声明,并不包括具体的实现

    • 并且,很多常用库(比如jQuery)的声明文件已经由其他人写好了,因此我们通过工具安装使用某个库时,并不需要自己来写声明文件

    • declare 定义的类型只会用于编译时的检查,编译结果中会被删除。

    更多相关内容
  • 前言 本文主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名,比如xxx.d.ts)。 最近开始从js转ts了。...如果你只写js,d.ts对你来说也是有用的,大部分编辑器能识别d.ts文件,当你写js代码的时候给你智
  • 用于捆绑d.ts文件的汇总插件 关于 当您要将所有.d.ts文件捆绑到一个捆绑包中时,此插件很有用。 引擎盖下的插件使用进行捆绑,请检查它的选项说明和示例。 安装 # yarn yarn add rollup-plugin-dts-bundle -D # npm ...
  • 从`.vue`文件生成`d.ts`。 :yellow_heart:通过在GitHub上赞助他,可以帮助他成为一名全职开源维护者。 vue-dts-gen从.vue文件生成d.ts。 全局安装:npm i -g vue-dts-gen或本地安装...d.ts仅发射d.ts文件。 输入示例:
  • 二、使用npm指令来获取.d.ts文件 install -save @types/jquery -g 运行后在type/jquery目录下生成4个文件:index.d.ts,lincense,package.json,readme.md,其中的index.d.ts即为jquery的声明文件。 三、npm需要Nodejs...
  • 1、使用电脑浏览器打开视频合并工具.html,输入最后一个数字,如视频文件中最后一个文件是88.ts,就在输入框中输入88。 2、点击“生成”按钮。 3、将生成的文件复制到视频文件夹中,然后鼠标双击即可。 5、合并后的...
  • AES加密解密egret库有.d.ts文件,可以直接放入egret中使用,AES加密解密egret库有.d.ts文件,可以直接放入egret中使用
  • css-modules-ts-loader创建一个.d.ts文件,其中包含要通过打字稿导入CSS类和ID。 入门 首先,您需要安装css-modules-ts-loader : npm install --save-dev @greyskullrocks/css-modules-ts-loader 然后配置您的...
  • TypeScript是JavaScript...TypeScript可以将大量变量的类型声明统一提取到单独的文件,此类文件被称为`声明文件`,它的文件扩展名是`.d.ts`,它可以被TypeScript解释器读取,并且能直观地表示出各种变量的使用方式。

    定义

    TypeScript是JavaScript类型的超集,它的扩展名是.ts

    • TypeScript是一门强类型语言,它的变量在使用前,都必须声明类型
    • TypeScript可以将大量变量的类型声明统一提取到单独的文件,此类文件被称为声明文件,它的文件扩展名是.d.ts,它可以被TypeScript解释器读取,并且能直观地表示出各种变量的使用方式
    • 由于TypeScript是JavaScript的超集,所以声明文件也能用来表示JavaScript脚本的使用方式
    • 一般来讲,组织声明文件的方式取决于库是如何被使用的。

    传送门https://www.tslang.cn/docs/handbook/declaration-files/introduction.html

    如何引用

    1. 在你需要声明的.js.ts文件的同一位置,插入你的同名.d.ts文件。
      |-- src
        |-- index.js
        |-- index.d.ts
        |-- app.ts
        |-- app.d.ts
      
    2. package.json文件有一个types(或typings)属性专门用来定义main入口文件的声明文件路径。
    3. npm仓库里有一个@types组织,专门用来存放库的声明文件,引用时只需要安装npm install --save-dev @types/库名即可。
      • 所有人都可以申请将自己的所有声明文件按规范提交到@types中去。
      • 例如jest测试库的声明文件就储存在@types/jest中。
      • @types下面还有很多底层类的声明文件,比如NumberString等在@types/code-js里都有声明。
      • 传送门https://github.com/DefinitelyTyped/DefinitelyTyped
    4. 在声明文件中使用/// <reference types="..." />头,来引入依赖的其它声明。

      types指某个其它声明的库,而不是声明文件的路径。

    问题

    为什么我在编辑器中选择Promise类进行溯源,会给我打开了一个lib.es2015.promise.d.ts文件?其中有对Promise的声明。而我的项目中明明没有这个文件。
    :因为你的项目或者编辑器,通过某种引用方式(上面的3或4方式),引用了这个声明文件。

    总结

    多看看官方文档,写代码总是很简单。

    展开全文
  • gulp TypeScript项目js库,生成.d.ts文件

    千次阅读 2022-04-13 17:20:40
    .js, .min.js, .d.ts 输出目录 创建src文件夹 ts项目源码目录 在项目目录下创建 package.json 文件 npm init 配置发布者的信息 和 包声明 npm安装gulp npm install --global gulp-cli 创建gulpfile.js脚本文件 '...

    检测node环境

    node --version
    npm --version
    npx --version
    

    创建bin文件夹
    .js, .min.js, .d.ts 输出目录
    创建src文件夹
    ts项目源码目录
    在这里插入图片描述
    在项目目录下创建 package.json 文件
    npm init
    配置发布者的信息 和 包声明
    在这里插入图片描述

    npm安装gulp
    npm install --global gulp-cli

    创建gulpfile.js脚本文件

    'use strict';
    const gulp = require("gulp");
    const minify = require('gulp-minify');
    const inject = require("gulp-inject-string");
    const ts = require('gulp-typescript');
    const merge = require('merge2');
    const tsProject = ts.createProject('tsconfig.json');
    
    gulp.task('buildJs', () => {
        return tsProject.src()
            .pipe(tsProject())
            .js.pipe(inject.replace('var es;', ''))
            .pipe(inject.prepend('window.es = {};\n'))
            .pipe(inject.replace('var __extends =', 'window.__extends ='))
            .pipe(minify({ ext: { min: ".min.js" } }))
            .pipe(gulp.dest('./bin'));
    });
    
    gulp.task("buildDts", ["buildJs"], () => {
        return tsProject.src()
            .pipe(tsProject())
            // .dts.pipe(inject.append('import e = framework;'))
            .pipe(gulp.dest('./bin'));
    });
    
    gulp.task("copy", ["buildDts"], () => {
        return gulp.src('bin/**/*')
            .pipe(gulp.dest('../demo/egret_demo/libs/framework/'))
            .pipe(gulp.dest('../extensions/behaviourTree-ai/egret-demo/libs/framework/'))
    });
    
    gulp.task('build', ['copy'], () => {
        return merge([
            gulp.src('bin/*.js')
                .pipe(gulp.dest('../demo/laya_demo/bin/libs/')),
            gulp.src('bin/*.ts')
                .pipe(gulp.dest('../demo/laya_demo/libs/')),
            gulp.src('bin/framework.d.ts')
                .pipe(gulp.dest('../extensions/behaviourTree-ai/source/lib/'))
                .pipe(gulp.dest('../extensions/ecs-star/lib/'))
                .pipe(gulp.dest('../extensions/ecs-tween/lib/'))
        ])
    });
    

    build
    gulp build

    Description
    gulp官网

    展开全文
  • 解决.d.ts文件无法被找到的问题

    千次阅读 2021-06-30 11:09:17
    参考 如何修改 node_modules 里的文件(同事看了直呼内行) 问题 在使用dumi开发开源框架的时候遇到无法找到模块 xxx 的声明文件, ...最后没办法了,直接去node_modules里面源文件添加一个.d.ts文件,这时.

    参考 如何修改 node_modules 里的文件(同事看了直呼内行)

    问题

    在使用dumi开发开源框架的时候遇到无法找到模块 xxx 的声明文件,

    image.png
    一直以来都是使用@types/xxx跟创建一个.d.ts来解决的

    image.png

    但这次加了不生效,仍然还是无法找到模块 xxx 的声明文件,然后我就在src目录下创建一个types.d.ts,之后编译器不再报错了,我以为就这样解决了,但是在打包的时候。

    image.png
    他又报错了,打包不了。

    解决

    最后没办法了,直接去node_modules里面源文件添加一个.d.ts文件,这时打包跟编译器报错都解决了,但是防止下一位同事打包能正常打包,就去找了一下保存node_modules的解决方案。
    具体是通过 patch-package这个npm包来实现的。

    使用patch-package实现

    1、先安装patch-packagenpm i patch-package --save-dev

    image.png

    出问题了,换yarn add patch-package --save-dev

    2、修改package.json,新增命令postinstall:

    “scripts”: {
    “postinstall”: “patch-package”
    }

    3、修改node_modules对应代码。

    4、执行命令:npx patch-package 你对应的包名 比如我的 npx patch-package rc-util

    image.png
    又出问题了,去找一下GitHub,yarn - TypeError: Cannot read property ‘dependencies’ of undefined 有点相似,最后使用yarn patch-package rc-util --use-yarn

    image.png

    终于成功了,目录下也成功出现了这个文件。

    image.png

    最后去试了一下删除node_modules,重新安装一下

    image.png

    image.png
    新增的.d.ts文件回来了。具体用法查看patch-package

    展开全文
  • ts-barrelr 特征 ts-barrelr使index.ts桶文件的生成自动化。 ts-barrelr将产生一个index.ts,其中包含在编辑器窗口中打开的包含当前文件的... 默认情况下,ts-barrelr将使用单引号作为index.ts文件中导入的默认引号
  • npm发布包缺少.d.ts文件,VSCode找不到模块声明文件
  • 如何编写一个d.ts文件

    千次阅读 2019-08-08 09:54:46
    如何编写一个d.ts文件 .d.ts文件是ts模块,变量一系列的申明文件。比如要使用react,就需要安装"@types/react",之后还会有提示。自定义全局声明文件,往往在根目录新建一个typings.d.ts文件 全局类型 变量 ...
  • typescript中.d.ts文件以及模块注意点

    千次阅读 2021-01-21 11:21:02
    菜鸟教程:.d.ts文件是什么? stackoverflow: .d.ts文件是什么?它是怎么和js文件映射的? 知乎:node包的.d.ts映射——@types: 本篇主要记录.d.ts文件的作用还有它是怎么与js文件映射的。 .d.ts文件该怎么写,这个...
  • vite.config.ts文件的配置

    千次阅读 2021-03-16 13:39:25
    import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path' // ...export default defineConfig({ ... server: { open: true }, resolve: { ... // 如果
  • “d.ts文件用于为 TypeScript 提供有关用 JavaScript 编写的 API 的类型信息。这个想法是你正在使用像jQuery 或 underscore 这样现有的 javascript 库。 您想使用 TypeScript 来消费 这些 jQuery 库实现的 API。 ...
  • 什么是描述文件?在回答这个问题之前,我们先思考这样一个问题,typescript和javascript原则上并不相通,那么在typescript出来之前所有的javascript是不是都不能使用了,比如jQuery,如果不能用,那是否是在可惜...
  • 文章目录1背景2 从零开始示范读取本地excel文件 1背景 想给妹子写一个导入的导入excel中的内容并自动填充到网页中的脚本,脚本通过油猴实现的运行,所以,第一步就是在现在本地实现excel内容的解析。因此,在本地...
  • 小编最开始拿到N多个带编号的ts文件,然后又配带了.key文件和.m3u8文件,一脸懵逼.... 电脑里某盘里多了这么多ts,却无法下手。 然后就是老方法,问度娘: 一.CMD生成MP4 1、首先将要合成的ts文件放在同一个...
  • .d.ts文件引用报错

    千次阅读 2019-04-16 16:01:49
     Try `npm install @types/open-graph-scraper` if it exists or add a new declaration (.d.ts) file containing `declare module 'open-graph-scraper';` /// <reference path="../types/open-graph-scraper....
  • 首页打开待爬取的页面获取ts文件列表,按F12查看页面内容,ctlr+F 搜索 m3u8,找到这个地址。 然后我们拿到这个地址,去读取里面内容。 import requests url=...
  • 这篇文章主要给大家介绍了关于VSCode中如何利用d.ts文件进行js智能提示的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...
  • 在写ts的时候遇到这样的一个情况:我需要将mongodb链接的实例对象挂载到node全局上,这个时候如果直接将...// 会导致types.d.ts文件失效 // import GriFiled from 'gridfs-stream' declare interface nameType { na
  • 方式二:其实和方式一的方法类似,就是在src下创建一个创建一个文件夹,名字自定义,然后创建一个 .d.ts文件,内容和方式一 一样。注:需要注意的是,如果创建文件夹,需要在你的tsconfig.json文件中声明一下,结构...
  • TypeScript 相比 JavaScript 增加了类型声明。这些类型声明帮助编译器识别类型,从而防止开发者“搬起石头砸自己的脚”。原则上,TypeScript 需要开发者做到先...用 ts 写的模块在发布的时候仍然是用 js 发布,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 185,110
精华内容 74,044
关键字:

.ts文件

友情链接: struts-2.5.2-all.zip