@Rays
2017-02-25T21:51:23.000000Z
字数 1386
阅读 1582
Microsoft
摘要: Microsoft发布了一系列工具用于快速生成基于JavaScript的Web应用,这些工具包含了dotnet new和对Node.js的巧妙运用。
作者: David Iffland
正文:
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