如何轻松和安全地构建的满足合规要求的智能产品,实现业务需求?4月26日,告诉你答案! 了解详情
写点什么

Microsoft 发布新工具,简化 JavaScript Web 应用的创建

  • 2017 年 2 月 28 日
  • 本文字数:1072 字

    阅读完需:约 4 分钟

Microsoft 发布了一系列工具用于快速生成基于 JavaScript 的 Web 应用,这些工具包含了 dotnet new 和对 Node.js 的巧妙运用。

dotnet new 命令是.NET Core 工具的一部分,它用简单的命令行语法创建(spin up)新项目。现在新工具已成为 ASP.NET Core 的 JavaScript 服务的组成部分,Web 开发人员可以使用同样的命令,基于模板创建新的单页应用(SPA,Single Page Applications)。

Steve Sanderson 在一篇文章中介绍,这些模板的初衷在于简化项目的初始化工作:

我们常听到使用 Angular 或 React 构建的 SPA 应用是如何的复杂。其中的挑战在于如何能很好地集成服务器端和客户端代码,或是如何从一开始就选定富有成效的项目配置。

这些工具依赖 NuGet 软件包 Microsoft.AspNetCore.SpaTemplates 。一旦安装了该软件包,就可以使用如下命令创建 angular、react、reactredux、aurelia 和 knockout 等模板,:

dotnet new reactredux这些模板被打包放在 GitHub 上。因为它们也是.NET Core 工具,所以安装任一模板都会创建一个服务于某个客户端 SPA 的 ASP.NET 应用。这里所说的“angular”是指 Angular 2 以上的应用,采用了“仅用于Angular ”的术语。

对于那些熟悉Node.js 和NPM 的JavaScript 社区成员, create-react-app Angular CLI 为创建这类应用提供了一种简单方法。对于来自 Microsoft 环境的开发人员,基于.NET 的 dotnet new 方法为他们提供了更为熟悉的方法。但是从某种程度上说,这些新的.NET 工具默认就提供了很全面的功能。

例如,angular 和 reactredux 模板默认包括了服务器端预渲染(可以关闭该功能)。所有这些项目类型都使用了 Webpack 2 绑定前端代码,并且除了 aurelia 模板外,默认都设置了 Hot Module Replacement。

鉴于新工具是一个.NET 应用,它仍然要通过 SpaServices 使用 Node.js。SpaServices 使用 Microsoft.AspNetCore.NodeServices 允许 ASP.NET 开发人员无需实际运行 Node.js 目录即可利用 Node.js 生态系统。Sanderson 说这些都是在“后台”进行的。

举个例子,为预渲染服务器上的 Angular 或 React 组件,该工具要在服务器端执行你的 JavaScript。这是通过 NodeServices 实现的,NodeServices 启动一个隐藏的 Node.js 实例,并提供一种快速的和鲁棒的方式从.NET 调用该实例。

Sanderson 也是 knockout.js 的创建者。

查看英文原文: Microsoft Makes it Easy to Create JavaScript Web Apps with New Tool


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 2 月 28 日 18:001815
用户头像

发布了 227 篇内容, 共 64.5 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

Java 连接操作 MySQL 数据库(增删查改操作)

若尘

MySQL 数据库 java编程 驱动 6月日更

专访关涛:阿里EB级大数据体系,背后的计算平台竟是这样(采访提纲)

花花

试用期 签约计划

为什么服务实例在隔离之后还在继续处理请求?

BUG侦探

TCP 半关闭连接 接收缓存

一文讲全了Python类和对象内容

华为云开发者社区

Python

校友会小程序开发笔记五:找校友功能模块设计与实现

CC同学

校友录小程序

保姆级教学,22张图揭开ThreadLocal

程序猿阿星

内存泄露 ThreadLocal 线程安全 弱引用 ThreadLocalMap

【TcaplusDB】世界难民日——愿所有人都被温柔以待

TcaplusDB

数据库 nosql tencentdb TcaplusDB

JAVA笔记(四)--三大结构语句

加百利

Java 后端 6月日更 结构语句

Python3.10中的结构化模式匹配语法

★忆先★

Python

Keepalived+Nginx 搭建高可用集群

逸少

nginx 高可用 keepalive

重塑价值:新一代ITSM平台的建设、咨询与实施

云智慧AIOps社区

ITSM 智能运维

TcaplusDB软件和硬件环境建议配置

数据人er

数据库 nosql tencentdb TcaplusDB

TcaplusDB小知识之TcaplusDB架构简介

数据人er

数据库 nosql tencentdb TcaplusDB

技术实践 | 如何基于 Flink 实现通用的聚合指标计算框架

网易云信

框架 flink 执行

HarmonyOS Connect伙伴峰会于厦门举办 硬件生态快速发展

科技汇

智慧水务|大坝水利可视化管理,综合态势一屏掌握

一只数据鲸鱼

数据可视化 智慧水务 三维可视化 水利 水力发电

初探Deno.js

★忆先★

deno

网络研讨会|想弄明白应用安全?我们为你准备了5个锦囊!

鉴释

DevSecOps 安全编码规范 应用安全 静态分析

向996宣战!快乐工作,健康生活的互联网要来了吗?

架构精进之路

话题讨论 话题 996 6月日更

Android客户端网络预连接优化机制探究

vivo互联网技术

android TCP HTTP

使用poetry进行Python项目开发

★忆先★

Python

算法导论的道与术、工程师思维奠定能走多远-John 易筋 ARTS 打卡 Week 51

John(易筋)

ARTS 打卡计划

使用 Python 对数据进行压缩

★忆先★

朋友乔迁住新房 禧大福酒竟成为宴席最大赢家

Geek_50a546

全面赋能泛娱乐社交场景

anyRTC开发者

音视频 WebRTC 泛娱乐社交

用 Go struct 不能犯的一个低级错误!

煎鱼

Go 语言

TcaplusDBx 黎明觉醒|一路相伴,不负期待

TcaplusDB

nosql tencentdb TcaplusDB

线上程序cpu占用过高、程序死锁,该如何定位问题?

码农架构

第一次见家长送禧大福酒好吗?

Geek_50a546

Microsoft发布新工具,简化JavaScript Web应用的创建_JavaScript_David Iffland_InfoQ精选文章