用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)


Posted in Javascript onDecember 05, 2018

自己学习使用了Angular JS 1一段时间,由于没有具体的项目进行尝试加上其它研究工作的影响,就搁置了一段时间。在与同事讨论技术选型时,才知道Angular JS 2的差别之大(孤陋了,莫见笑),所以决定弄弄Angular 2。WebStorm是进行JS和前端开发的不二之选的IDE工具,虽然目前版本已经更新了,但是由于Angular 2的成熟度还没那么高,所以用WebStorm进行Angular 2的工程创建,还是没有其他语言的方便。自己尝试用WebStorm搭建Angular 2的工程,虽然在网上看了一些仁兄的帖子,很有帮助,但是感觉关键的、核心的问题没有说清楚(也可能是由于用Node不是很久,知识浅薄),所以搭建过程特别是在Windows上也是磕磕绊绊,总是有些问题。相信其他人也会遇到同样的问题,所以将问题梳理总结如下。

一、前序

既然是使用Angular JS 2,那么先简单说下 1 和 2 的主要区别。这方面内容,网上很多,我就借用其他仁兄的一些资料,具体来源可以查看:参考资料

Angular 1与 Angular 2之间的一些差别

Angular2使用了javascript的超集‘Typescript',所以angular1和angular2从设定之初就是不一样的;

Angular1.x在设计之初主要是针对pc端的,对移动端支持较少(当然也有其他一些衍生框架如ionic),而Angular2是设计包含移动端的;

Angular 1的核心概念是scope,但是angular2中没有scope,angular2使用zone.js来记录监测变化;

Angular 1 中的控制器在angular2中不再使用,也可以说控制器在angular2中被‘Component'组件所替代:

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

二、环境准备

  • WebStorm 2016.3.3
  • Nodejs 7.4.0
  • angular-cli 0.31
  • Windows 10 RedStone

WebStorm安装很简单,破解不是本文重点,建议还是支持正版。

(1)Nodejs安装

这一步很简单,下载Windows版的Nodejs,进行按照提示安装即可,记得选择将nodejs增加到PATH一项,如果界面上没有,应该就是默认帮你搞定了,可以忽略我这句废话。

通过命令,验证是否安装成:

node -v
npm -v

如果正常显示版本号,即安装成功。

(2)Nodejs配置

Nodejs安装完成之后,默认会将node.exe的路径,添加到系统的环境变量中,如果没有请手动添加。除此之外还要进行其他的配置。

1、配置prefix和cache目录

示例目录地址为:C:\Program Files\nodejs

npm config set prefix “C:\Program Files\nodejs\node_global”
npm config set cache “C:\Program Files\nodejs\node_cache

2、配置环境变量

右击“计算机”—>”属性”—>”高级系统设置”—>”环境变量”

在”系统变量”中,设置 NODE_PATH

在系统变量里新建 NODE_PATH ,值为

C:\Program Files\nodejs\node_global\node_modules

这个值就是上一步中,通过 “npm config set prefix” 设置的值。可以,用下面命令查看

npm config get prefix

在”用户变量”中,修改path

修改用户变量中的path,添加C:\Program Files\nodejs\node_global\。

这个值就是上一步中,通过 “npm config set prefix” 设置的值。

3、配置sass_binary

angular cli 是要依赖node-sass的,默认情况下,不会像其它包一样直接下载,而是要下载后进行编译的。在Windows下,首先要通过git下载win32-x64-51_binding.node,但是不知道是被墙还是什么原因,下不下来,就会导致后面的编译出错,以及提示找不到python和Visual Studio的问题。如下:

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

首先要做的就是根据错误提示,手动下载相应的版本地址:binding.node

将下载的binding.node放到指定目录,例如:

C:\win32-x64-51_binding.node

配置路径:通过命令配置

npm config set sass_binary_site “https://npm.taobao.org/mirrors/node-sass/” //使用阿里的镜像

npm config set sass_binary_path “C:\win32-x64-51_binding.node”

当然以上prefix, cache,sass_binary_site, sass_binary_path等,也可以通过修改下面文件进行配置

C:\<username>\.npmrc

prefix=C:\Program Files\nodejs\node_global
cache=C:\Program Files\nodejs\node_cache
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
sass_binary_path=C:\win32-x64-51_binding.node

(3)安装工具包

1、全局安装阿里cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

2、全局安装typescript

npm install -g typescript typings

3、全局安装angularjs-cli

npm install -g @angular/cli

新版已经不用angular-cli进行安装,而是使用@angular/cli,参见官网

三、创建工程

1、打开WebStorm新建一个Angualr CLI 工程

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

  • nodejs如果安装好,WebStorm会自己扫描到指
  • 定工程目录和名称
  • 指定angular-cli的目录

很多帖子只说指定angular-cli的目录,没有说清楚具体是哪个目录。但是最开始我在指定的时候,一直还提示“Please specify angular-cli package”。还以为是angualr-cli没有安装对。

通过尝试发现:

(a)具体的目录,就是angular-cli包中,bin目录的上一层目录

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

(b)如果目录选择完成后,还提示:“Please specify angualr-cli package”,就点击一下工程名称那一栏或其它地方。因为选择angular-cli目录,不会触发事件,所以错误提示一直在,点了其它地方,触发一下事件,提示就会消失,“Create”按钮就可以使用。

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

2、等待工程创建完成

以上工作完成,就是等待新建一个angular 2工程。这个过程有点慢,主要是IDE会根据package.json下载依赖的包到工程里面。

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

如果出现上图,就说明工程创建完成,工程结构如下

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

3、运行程序

选择package.json, 右键选择“Show npm Scripts”,或者用“Edit Configurations”,添加“npm”

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

点击“start” 启动 Web Server

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

在浏览器?入 http://localhost:4200 ,若出? app works! ,表示 Angular 2 已经正常启动。

用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
javascript 清空form表单中某种元素的值
Dec 26 Javascript
jquery 批量上传图片实现代码
Jan 28 Javascript
jQuery创建插件的代码分析
Apr 14 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
详解angular ui-grid之过滤器设置
Jun 07 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
angularJS开发注意事项
May 26 Javascript
微信小程序列表中item左滑删除功能
Nov 07 Javascript
vue 表单验证按钮事件交由父组件触发的方法
Dec 17 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
原生js实现自定义难度的扫雷游戏
Jan 22 Javascript
详解angularjs4部署文件过大解决过程
Dec 05 #Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 #jQuery
关于RxJS Subject的学习笔记
Dec 05 #Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
Dec 05 #Javascript
详解如何在Angular优雅编写HTTP请求
Dec 05 #Javascript
JS+HTML5 canvas绘制验证码示例
Dec 05 #Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 #Javascript
You might like
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
PHP引用返回用法示例
2016/05/28 PHP
JavaScript高级程序设计
2006/12/29 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
javascript几个易错点记录
2014/11/26 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
JS中的作用域链
2017/03/01 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
工商管理专业应届生求职信
2013/11/04 职场文书
十佳大学生村官事迹
2014/01/09 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js