3.1.2 nodejs 下载以及说明
首先在我们官网下载Nodejs的安装包进行安装:https://nodejs.org/en/
V6.10.0 LTS(9.75MB)——长期支持版,成熟稳定
V7.7.3 Current(9.75MB)——现在最新版本,最新特性、不稳定 作为新手不用纠结,随意选一个下载即可。
3.1.2 开始安装nodejs
(1) 下载完后进行nodejs安装.可自定义安装,默认是安装在C:\Program Files\nodejs
点next进行安装(注意避免中文目录)
在命令行cmd控制行
输入:node –v,控制台将打印出:v7.7.2 提示安装成功。
这样,常规NodeJS的搭建到现在为止已经完成了,迫不及待的话你可以在cmd命令行中键入“node”进入node开发模式下,输入你的NodeJS第一句:”hello world“ – 输入:console.log(‘hello world’)。这里就不再多作演示了。
该引导步骤将node.exe 文件安装到C:\Program Files\nodejs\目录下,并将该目录添加进path环境变量
注意:环境变量中path的nodejs路径决定你安装后的目录路径
(2) npm 详解
npm作为一个NodeJS的模块管理,之前我什么都不懂,从网上找各种安装教程,弄的五花八门,走了很大的弯,现在将其整理出来,方便各位网友查看。
①、我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立”node_global”及”node_cache”两个文件夹。如下图
②、启动cmd,输入
npm config set prefix "C:\Program Files\nodejs\node_global"
npm config set cache "C:\Program Files\nodejs\node_cache"
④、关闭cmd,打开系统对话框,“我的电脑”右键“属性”-“高级系统设置”-“高级”-“环境变量”。如下图
⑤、进入环境变量对话框,在系统变量下新建”NODE_PATH”,输入”C:\Program Files\nodejs\node_global\node_modules“。(ps:这一步相当关键。)
⑥、以上步骤都OK的话,我们可以再次开启cmd命令行,进入node,输入“require(‘express’)”来测试下node的模块全局路径是否配置正确了。正确的话cmd会列出express的相关信息。如下图(如出错一般都是NODE_PATH的配置不对,可以检查下第④⑤步)
OK,这样就搞定了,只要配置好之后,通过管理员权限安装模块就可以很好管理目录了。
⑦、查看npm 版本号 :
3、安装JDK(androidSDK需要的)
3.2 安装后cmd执行java -version看到版本就是安装成功了(无需设置path)(我这里的版本是jdk1.8)
4、安装androidSDK
下载完后,点next进行安装(注意避免中文目录)
4.2 设置环境变量全局访问android
我的电脑 - 右键属性 - 高级系统设置 - 环境变量
新建变量名 变量值
注意:执行androidsdk目录下的SDK Manager.exe即可打开工具包 如果遇到打不开的情况请用管理员运行!!!
配置AndroidSDK 国内无法访问google服务器 所以列表是空的需要配置镜像
填入mirrors.neusoft.edu.cn 端口80
并勾选 “Force https://... sources to be fetched using http://...单击Close关闭”
依次选择Packages - Reload(或者重新打开)
这里千万注意只需要勾选3个Android SDK Platform-tools、Android SDK Build-tools、API23下的SDK Platform (编译的时候会提示你需要的api版本,目前是API23)
附加:项目集成Crosswalk需要勾选Extras下的Android Support Repository和Google Repository否则会报错
接受 - 安装
安装完的列表 新版ionic只需装23,如果编译遇到错误就安装API 22的platform
5、安装 Apache ant
5.2 下载安装完后进行配置环境变量
Windows下ANT用到的环境变量主要有2个: ANT_HOME 和 PATH。
eg:
执行 cordova ionic 命令、运行下面的命令来确认它们被成功安装:
cordova (当前最新版本为v6.5.0)
ionic (当前最新版本为v2.2.1)
1、开始创建项目(以管理身份进行运行Node.js command prompt)
myionictest 就为项目名称,进入myionictest 这个文件夹:
cd myionictest
2. 添加android平台:
ionic platform add android
3. 生成android apk:
ionic build android
查看生成apk 目录
现在我们可以运行ionic server预览下项目
现在我们可以运行ionic server预览下项目、显示如下已经搭建好了一个移动混合式app ionic 框架
此步骤说明(如果此过程下载本地不了建议通过以下这种方式把gradle-2.2.1-all.zip下载下来配置):我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
我有一个模块:moduleMyModuledefdo_something#...endend由类使用如下:classMyCommandextendMyModuledefself.execute#...do_somethingendend如何验证MyCommand.execute调用了do_something?我已经尝试使用mocha进行部分模拟,但是当未调用do_something时它不会失败:it"callsdo_something"doMyCommand.stubs(:do_something)MyCommand.executeend 最佳答案
所以我只是对此感到好奇:DataMapper为其模型使用混合classPostincludeDataMapper::Resource虽然active-record使用继承classPost有谁知道为什么DataMapper选择这样做(或者为什么AR选择不这样做)? 最佳答案 它允许您从另一个不是DM类的类继承。它还允许动态地将DM功能添加到类中。这是我正在处理的模块中的类方法:defdatamapper_classklass=self.dupklass.send(:include,DataMapper::Resource)klass
如何用HAML编写这个ERB:#OR我可以:=some_ruby_code+":"#and=some_ruby_code%br但我不想在这里连接,我想将它写成内联:(=some_ruby_code):#and(=some_ruby_code)%br 最佳答案 =some_ruby_code+":"-#and=some_ruby_code+""编辑1:我不确定您在寻找什么。你想要其中之一吗?==#{some_ruby_code}:-#and==#{some_ruby_code}或==#{some_ruby_code}:-#and=so
我编写了一个非常简单的Sassmixin,用于将像素值转换为rem值(请参阅JonathanSnook的articleonthebenefitsofusingrems)。这是代码://MixinCode$base_font_size:10;//10px@mixinrem($key,$px){#{$key}:#{$px}px;#{$key}:#{$px/$base_font_size}rem;}//Includesyntaxp{@includerem(font-size,14);}//RenderedCSSp{font-size:14px;font-size:1.4rem;}这个mixi
我想AND或OR数组中的所有元素,但要有一些控制,如散列元素选择所示。这是我希望实现的行为:a=[{:a=>true},{:a=>false}]a.and_map{|hash_element|hash_element[:a]}#=>falsea.or_map{|hash_element|hash_element[:a]}#=>true在Ruby中是否有一种巧妙、干净的方法来做到这一点? 最佳答案 您可以为此使用all?和any?:a=[{:a=>true},{:a=>false}]a.any?{|hash_element|has
我正在尝试使用prawnpdf在ruby中生成一个简单的表格。我需要单元格中的一些文本是粗体,而一些不是粗体。例如:现在按照一些示例,我使用以下代码进行了基本的表格渲染:pdf.table([["1.Rowexampletext","433"],["2.Rowexampletext","2343"],["3.Rowexampletext","342"],["4.Rowexampletext","36"]],:width=>500,:cell_style=>{:font_style=>:bold})但我完全看不出有什么办法可以用不同的格式将更多文本插入到第一个单元格中。(在这种情况下
我使用Rails已经4年多了,所以很明显我喜欢Rails并且喜欢按照Rails方式做事,但有时我会在不知不觉中陷入阴暗面。我最近学习了UncleBob的CleanCode。我在看第6章,有点困惑我们作为Rails开发人员是否违反了OO设计的最基本规则,即Demeter法则或封装?得墨忒耳法则指出,一个对象不应该知道另一个对象的内部结构,也不应该调用方法返回的对象的方法,因为当你这样做时,它表明一个对象对另一个对象了解太多。但我们经常从一个模型中调用另一个对象的方法。例如,当我们有像“订单属于用户”这样的关系时。然后很多时候我们最终会执行order.user.name或者为了防止它看起来
我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.
我想根据created_on>=somedateANDnameINsomelistofnames的组合查找记录。对于“>=”,我必须使用sql条件。对于“IN”,我必须使用条件散列,其中键是:name,值是名称数组。有没有办法将两者结合起来? 最佳答案 您可以在rails2.1及更高版本中使用命名作用域ClassTest"created_on>2005-01-01"named_scope:named_fred,:conditions=>{:name=>"fred"}end那么你可以做Test.created_after_2005.n