首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Typescript和ES模块发布Node模块

我们如何使用现代的JavaScript功能(如ES模块)来编写,同时又能获得TypeScript的所有好处?...选择模块系统 接下来,我们必须决定将用于该项目的模块系统。请注意,这不是我们要编写的模块系统,而是TypeScript的编译器在输出代码时将使用模块系统。...Node中工作,你将习惯使用 require 代码),因此较早的构建工具和Node.js环境可以轻松运行该代码 稍后我们将介绍如何使用不同的选项捆绑两次,但是现在,让我们将TypeScript配置为输出...这样,运行 npm publish 将运行我们的TypeScript编译器并在线发布模块!...我希望这篇教程已经告诉你,使用TypeScript上手和运行TypeScript并不像最初看起来那么困难,只要稍加调整,就可以让TypeScript输出你可能需要的多种格式,而不需要太多麻烦。

2.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Twitter工程师聊JS

这个网站是个很好的ES6入门读物 尽管JS有着不同的运行环境,但并不影响使用ES6新特性,因为有了像Babel这类很棒的工具,可以把你的代码转换为兼容各个平台的代码 JS还有一些变体,例如 ClojureScript...、TypeScript、CoffeeScript ClojureScript 是Clojure转换到JavaScript,而Clojure是一种运行在Java平台上的Lisp方言 TypeScript...建议使用ES6,因为各个浏览器的支持度越来越好,并且还有Babel这类的工具能够帮你 03 用什么build工具?...JS的测试越来越重要,JS本身没有测试框架,需要依赖外置库 Mocha和Jasmine是两个主流库,你来定义预期行为,然后进行断言 对于运行测试,Mocha提供了命令行工具,而Jasmine没有,很多开发者使用...Karma,他是一个test runner,Mocha和Jasmine的测试都可以使用Karma运行 我个人的建议是 Karma + Jasmine,如果需要用到浏览器测试时,使用PhantomJS

1.4K60

写代码无BUG,网易云前端单元测试方案总结

虽然目前很多新版浏览器都支持 了,支持在浏览器中直接运行 ES6 代码,但是浏览器不支持 node_modules ,所以我们的原始 ES6 代码在浏览器上依然无法运行...TypeScript后就不需要使用 babel 来转换了。...如果原始代码已经是 CJS了,可以使用 browserify 来支持浏览器端运行,基本零配置,但是往往现实世界比较复杂,我们有 ES6,JSX 以及 TypeScript 要处理,所以这里我们使用 webpack...比如我们常常使用 es6语法,就需要增加es6的支持。 新增 spec/helpers/babel.js 写入如下配置即可。...虽然 Jest 提供了很丰富的功能,但是并没有内置 ES6 支持,所以依然需要根据不同运行时对代码进行转换,由于 Jest 主要运行在 Node 中,所以需要使用 babel-jest 将 ES Module

9.5K20

JavaScript 2016年的概况

JavaScript风格 本节摘要: ES6是新的标准 CoffeeScript已经成为过去时了 新的JavaScript风格即将到来 流行度: ES6 > TypeScript > CoffeeScript...技术选型方面: ES6 + React + Redux + Mocha + Webpack TypeScript + Angular 2 前端框架 本节摘要: 你不能错过React...+ Redux + Mocha + Enzyme + Webpack + React Native Angular 2 + TypeScript + MEAN 其它前端框架 ?...和 Jasmine 领先 总的来讲,开发人员对JavaScript测试并不满意 CSS工具 本节摘要: SASS/SCSS 是主导框架 CSS 模块化可能是一个值得研究的方向 技术选型方面:...特性 服务端渲染 代码拆分 增量更新,优先使用本地缓存策略 模块热更新 时间旅行调试 实时操作 死代码消除 渐近增强 评分最高的几个特性 Code Splitting >

65220

如何做前端单元测试

常见单元测试工具 目前用的最多的前端单元测试框架主要有 Mocha (https://mochajs.cn/)、Jest (https://www.jestjs.cn/),但我推荐你使用 Jest,因为...npm run test ,jest 将打印下面这个消息 3.不支持部分 ES6 语法 nodejs 采用的是 CommonJS 的模块化规范,使用 require 引入模块;而 import 是...ES6模块化规范关键字。...想要使用 import,必须引入 babel 转义支持,通过 babel 进行编译,使其变成 node 的模块化代码 如以下文件改写成 ES6 写法后,运行 npm run test将会报错 ....babel-core,然后取 .babelrc 中的配置运行测试之前结合 babel 先把测试用例代码转换一遍然后再进行测试 4.测试 ts 文件 jest 需要借助 .babelrc 去解析 TypeScript

3.2K20

2016 JavaScript 技术栈展望

TypeScript 和 Flow 都为 JavaScript 提供了静态类型系统,使用静态类型检查,可以有效捕获错误,减少测试量。目前来说,我建议对此持观望态度。...一年之前对于上述工作,开发者还有诸多工具可以选择,比如基于 JavaScript 的 RequireJS、Browserify 和 Webpack 解决方案,此外还有号称能对 ES6模块进行最佳优化的...在尝试了所有的工具之后,我强烈建议开发者选择 Webpack: 通过配置可以应对各种情况 支持主流的模块加载方式(AMD,CommonJS,globals) 内部机制可以修复破损的模块 可以处理 CSS...对于类似运行 Webpack 的基本任务,我建议直接使用 NPM 脚本。 Mocha + Chai + Sinon 在 JavaScript 中,有大量可选的单元测试工具,每一个都很稳定和健壮。...我对一个测试框架的要求有如下几条: 可以在浏览器运行,便于调试 执行速度快 便于处理异步测试 便于在命令行中使用 可以兼容任意断言和数据模拟的第三方库 第一条标准就排除了 Ava 和 Jest。

2.1K40

VSCode拓展推荐(前端开发)

一、使用说明 相似功能的插件,不推荐全都装上,请挑选一个使用 本列表所有插件均已测试使用过,但不代表不存在问题 任何插件本身的问题,请到对于代码仓库提交issue 二、拓展 名称 简述 Auto Close...行内显示导入(import/require)的包的大小 Indenticator 缩进高亮 IntelliSense for css class names css class输入提示 JavaScript (ES6...) code snippets ES6语法代码段 JavaScript Standard Style Standard风格 JS Refactor 代码重构工具,提取函数、变量重命名等等 JSON to...IntelliSense less变量与混合提示 Lodash Lodash代码段 Log Wrapper 生产打印选中变量的代码 markdownlint Markdown格式提示 MochaSnippets Mocha...代码段 Node modules resolve 快速导航到Node模块 npm 运行npm命令 npm Intellisense 导入模块时,提示已安装模块名称 Output Colorizer 彩色输出信息

2.2K41

使用 TypeScript 改造构建工具及测试用例

第一个完全使用TypeScript重构的纯Node.js项目已经上线并稳定运行了。...在Webpack的文档中同样也提到了这句,所以这是一个兼容的方法,在命令运行时指定一个路径,在不影响原有配置的情况下创建一个供Webpack打包时使用的配置。...,再执行npm run XXX就可以直接运行TypeScript版本的Webpack配置咯。...但是接入了TypeScript以后,这些问题都迎刃而解了。 也是前边提到的,所有的TypeScript模块都有其对应的.d.ts文件,用来告诉我们这个模块是做什么的,提供了什么可以使用。...安装依赖 TypeScript相关的安装,npm i -D typescript ts-node Mocha、chai相关的安装,npm i -D mocha chai @types/mocha @types

1.5K40

【译】10 个 Node.js 最佳实践:来自 Node 专家的启示

考虑不使用 JavaScript — ES6/7 是可悲的补充,它诞生于 6 年的会议,当时我们已经有了更好的 JavaScript,称为 CoffeeScript。...提供原生代码 — 使用转译器时,提交本机 JS 代码(构建的结果),以便您的项目可以在没有构建的情况下运行使用 gzip — 呵呵!...您可以使用 && 执行此操作,因为第一个命令不会退出。但是,有一个更加方便的模块名为 concurrently,它可以生成多个进程并同时运行它们。...参考一下 TJ Holowaychuk 的代码,他是 Express、Mocha、Connect、Superagent 和许多其他 Node 模块背后的高产天才。...例如,VS Code 是最大的 TypeScript 项目之一,可能在 Angular 2 之后,并且代码使用 TypeScript 为 Node 的核心模块添加类型。

2K20

使用 TypeScript 和依赖注入实现一个聊天机器人

我们将会使用: Node.js TypeScript Discord.js,Discord API的包装器 InversifyJS,一个依赖注入框架 测试库:Mocha,Chai和ts-mockito...start 脚本将用于启动机器人,watch 脚本用于编译 TypeScript 代码,test用于运行测试。...或者,如果你用了其他 IDE,只需使用 TypeScript 插件中的文件监视器,让你的 IDE 去处理编译。...简而言之,我们的代码应该实现最佳实践(如 SOLID ),不隐藏依赖项,不使用静态方法。 此外,它不应该在运行时引入副作用,并且很容易模拟。...恭喜你干净利落地用 TypeScript 和 DI 完成了它!这里的 TypeScript 依赖项注入示例是一种模式,你可以将其添加到你的知识库中一遍在其他项目中使用

11.1K20

最佳Node实践之实用十式: Node大师带来的启迪

考虑不使用JavaScript — ES6/7是经过六年会议后诞生的可悲的补丁,而同时已经有了更好的JavaScript——CoffeeScript。...为此,你可以使用 &&,因为第一行不会输出提示。不过,有一个很便捷的模块叫做 concurrently ,它可以产生多个进程,并同时运行它们。...另外,请在局部使用命令行安装的开发工具,例如:webpack,nodemon,gulp,Mocha等。例如你的安装可以指向 ....请观察思考Express,Mocha,Connect,Superagent和几十个其他Node模块背后的多产天才TJ Holowaychuk的代码。...例如,VS Code是最大的TypeScript项目之一,也许随Angular 2之后,Code运用TypeScript使用types来对Node的核心模块打补丁。

89620
领券