处理模块化代码的方式很多,JavaScript 在这方面有着悠久的历史。TypeScript 诞生于 2012 年,对许多模块化方案也实现了支持。但随着时间的推移,社区和 JavaScript 规范在一种名为 ES 模块(或者称为 ES6 模块)的方案上达成了共识。你可能听说过它的 import/export 语法。
这是一个单独的文件, 只是引入一个json文件, 使用typescript编写, 发现require关键字出错
我们在 2018 年增加了对私有字段的支持。 然而,这种支持是以 TC39 的旧提案为基础,现已偏离标准。 为了符合标准,我们从头开始重新设计了既有支持。 WebStorm 2021.3 正确支持 ES2022 私有类成员。
要导出到 TypeScript 中的 CommonJS 和 ES 模块,请在导出中设置默认属性:
scss变量最好不要到单独的 .vue 文件里去使用,因此将 scss 的变量配置成全局的
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 小伙伴们知道 TienChin 项目前端用的是 Vue3,当我们把 Vue3 官网刷了一遍之后回来看 TienChin 项目的前端,发现还是有很多不太一样的地方,今天松哥就来和大家捋一捋 Vue3 中几个好玩的插件和配置,学完之后,相信大家对 TienChin 项目前端的很
Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是 Angular Universal(统一平台),一项在服务端运行 Angular 应用的技术。 标准的 Angular 应用会执行在浏览器中,它会在 DOM 中渲染页面,以响应用户的操作。 而 Angular Universal 会在服务端通过一个被称为服务端渲染(server-side rendering - SSR)的过程生成静态的应用页面。 它可以生成这些页面,并在浏览器请求时直接用它们给出响应。 它
Nest.js 是一个现代的企业级 Node.js Web 框架,最近在使用 Nest.js 实践一些项目的总结了一些使用心得,也从中学到了很多东西,在这里总结下来和大家分享。
Deno 是新的 JavaScript 和 TypeScript 运行时。Node.js 的发明者 Ryan Dahl 于 2020 年发布了 Deno,作为 Node.js 的改进。但是 Deno 不是 Node.js,而是全新的 JavaScript 运行时,同时也支持 TypeScript。与 Node.js 相似,Deno 可用于服务器端 JavaScript,但其目的是消除 Node.js 所犯的错误。它就像 Node.js 2.0 一样,只有时间才能告诉我们是否会像 2009 年使用 Node.js 一样去使用它。
Nest.js 是一个现代的企业级 Node.js Web 框架,最近在使用 Nest.js 实践一些项目的总结了一些使用心得,也从中学到了很多东西,在这里总结下来和大家分享。 1. API 设置全局前缀 为 API 设置一个全局前缀可以区分接口版本,如通常会用 /api/v1 作为的 API 端点的前缀。为什么我们需要前缀?好的 API 在设计时要考虑到向后的兼容性。当增强或增加一个 API 时,我们应该确保已经线上使用到该 API 的业务不受影响。简而言之,API 前缀是为了向后兼容。 2. 模块划分
Propel 是一个新推出的 JavaScript 科学计算库,它使用图形处理器来支持 JavaScript 中的机器学习和科学计算。
这听起来是不是很耳熟:你想写一个小型脚本,不管是为页面、命令行工具,还是其他什么类型。你从JavaScript开始,直到你想起写代码时没有类型是多么痛苦。所以你把文件从.js重命名为.ts。然后意识到你已经打开了一个麻烦的玩意儿。
我们用 NgModules 把 Angular 应用组织成了一些功能相关的代码块。
这两种方式都有缺点,第一种很麻烦,第二种无法使用Vue3新增的组合式 API,其实现在Vue2.7+版本已经内置支持组合式API,Vue2.6及之前的版本也可以使用@vue/composition-api插件来支持,所以完全可以只写一套代码同时支持Vue2和3。虽然如此,但是实际开发中,同一个API在不同的版本中可能导入的来源不一样,比如ref方法,在Vue2.7+中直接从vue中导入,但是在Vue2.6-中只能从@vue/composition-api中导入,那么必然会涉及到版本判断,Vue Demi就是用来解决这个问题,使用很简单,只要从Vue Demi中导出你需要的内容即可:
众所周知:JS中有这么几种类型的数据: Symbol,boolean,Number,Object[Array在js中也属于对象],undefind,null,String;
首先如果我们使用的是volar,在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。
本篇文章主要介绍的内容就是声明的安装,其实在编写声明文件的时候又分为好几种,如果你导入的第三方的某个库是一个全局的库的话,那么什么叫全局的库呢,就是这个库当中的所有功能都是绑定到一个全局对象上的这种就称之为全局的库,这种时候就可以参照 TS 官方提供的全局编写模板来进行编写:
由于Node和Deno的一些差异,一个库要想同时支持Node和Deno是需要一些改造的
Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验。Deno 含有以下功能亮点:
和选项api的最大不同就是新增了 setup()。我们要处理的逻辑都放到了setup()中
在最基本的层次上,使用Vite进行开发与使用静态文件服务器没有太大区别。但是,Vite对本机ESM导入提供了许多增强功能,以支持通常在基于捆绑程序的设置中常见的各种功能。
在 TypeScript 中,可以使用 import 和 export 关键字在不同文件之间进行模块化引用和导出。
compilerOptions ⽀持很多选项,常⻅的有 baseUrl 、 target 、 moduleResolution 和 lib 等。 compilerOptions 每个选项的详细说明如下:
在程序设计中,为完成某一功能所需的一段程序或子程序,或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分
前面文章有讲到 svg 图标按需加载的优势以及 Vue 如何使用 vue-svg-icon 实现 svg 图标按需载入 今天来学习一下使用 svg-sprite-loader 在 Vue3 项目中实现图标按需加载
当我们的 tsconfig.json 中的 isolatedModules 设置为 true 时,如果某个 ts 文件中没有一个 import or export 时,ts 则认为这个模块不是一个 ES Module 模块,它被认为是一个全局文件,其中定义的变量函数都是全局可见的 (不建议使用,因为它会容易造成代码命名冲突,全局变量污染,比如 a.ts 中定义的变量在另一个文件 b.ts 可以直接读取),这个时候在文件中添加任意一个 import or export 都可以解决这个问题。
接着上一篇文章的分享来说,我们已经选了合适的前端框架,那么就需要了解其项目结构,以及对应的组件。上一篇中也提到了我们开源项目的需求,第一步项目需求确定后那么就开始我们的下一步计划。
Tailwind CSS 是一个实用为先的 CSS 框架,使开发人员能够快速构建现代且响应式的用户界面。当与 React.js 结合使用时,这两种技术协同工作,从而简化了开发过程。在本文中,我们将探讨如何将 Tailwind CSS 无缝集成到 React.js 项目中。
JWT token 实现方式, 将基本信息直接放在token中,以便于分布式系统使用, 但是我们没有设置有限期(这个是可以实现的),并且服务端无法主动让token失效。而Redis天然支持过期时间,也能实现让服务端主动使token过期。
配置文档:https://cn.vitejs.dev/config/,基于ESM;
Astro的集成能力支持我们使用Vue3编写的组件,并且支持SSR(server-side rendering)和CSH(client-side hydration)
分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。
从ECMAScript 2015开始,JavaScript引入了模块的概念。TypeScript也沿用这个概念
随着前端的发展,在 Web 浏览器中构建 3D 图形变得越加简单。加入我的 3D 开发旅程,我将向你展示如何使用 Babylon.js 创建基本场景。
因项目需要,琢磨了几天 angular,结果下来还是有点一脸懵逼。尝试进行编译下简体中文的文档也是一堆错误。
在介绍如何创建 Angular Library 之前,让我们来看一下 Angular 新的配置文件 —— angular.json。早期版本的 angular-cli.json 文件已经被替换为 angular.json 文件,文件的内容也发生了改变。这里我们关心的 projects 属性,它为每个独立的项目提供了一个入口:
端口被占用错误,请使用 ng serve --port 4211 //4211为替换默认4200的端口 出现以下消息表示运行成功:
ORM 库(Object-Relational Mapping),其实就是编程语言到 SQL 的映射,无需学习 SQL 的使用,直接用最熟悉的代码调用方法,即可与数据库进行交互。
刚开始使用vue3的时候,全局状态管理器都是使用pinia。还没去了解的时候并不明白为什么要换掉vuex,毕竟是用了好几年的状态管理器,能达到的效果和语法跟vuex几乎一模一样,所以为什么要换?
模态框(弹出层对话框,Modal Popup)在大多数现代应用程序中非常常见。它们主要用于呈现简洁的信息,非常适合显示广告和促销内容。模态框提供了一种快速传达信息的方式,并提供了用户友好的关闭选项。
组件的概念比较大,本文讲解的是属性指令和结构指令的创建和使用,Angular官方文档
我们可以把 TypeScript 看做为 JavaScript 添加了类型注释的薄层,而类型注释可以确保不会犯任何错误。TypeScript 团队也在努力确保类型检查适用于常规 JavaScript 文件。TypeScript的编译器(tsc)以及 VSCode 等编辑器中的语言支持无需任何编译步骤,就能提供出色的开发体验。下面我们来看看如何使用。
TypeScript 2.4 为标识符实现了拼写纠正机制。即使咱们稍微拼错了一个变量、属性或函数名,TypeScript 在很多情况下都可以提示正确的拼写。
大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder
领取专属 10元无门槛券
手把手带您无忧上云