spm3安装和使用
readme : 因为我在在spm3中主要用到的是spm build这个命令,因此本文简单的介绍一下如何安装spm3和使用其中的spm build命令
一.安装
1.安装nodejs
直接去官网下载nodejs,然后进行安装,这里就不详细说明了,安装好以后可以尝试一下node -v这个命令,如果安装成功的话一般都会弹出版本号
2.安装spm3
打开cmd(命令提示符),然后键入npm install spm -g,因为新安装的spm都是默认最新的,也就是spm3,至少现在还是这样~
在上面这个过程中其实会发生很多事,比如安装失败,it‘s so 正常~毕竟每台电脑的环境不一样么~不过我自己在三台电脑上进行了安装,一开始都有些错误,不过最后经过我的努力,终于都搞定了。
这里我大概说下可能出现错误的原因:
(上面“一”和“1”都用过了,大家就将就下我的英语吧~嘿~嘿)
first:nodejs的版本太低,这个可能需要你安装新的nodejs才能解决
second:你运行npm install spm的环境可能不太对,最好还是直接在cmd窗口中运行,因为我在powercmd这个软件中安装了三次都失败了,最后在电脑原生的cmd窗口中运行了一下就装好了
三.使用
1.生成项目
也许你之前使用过了spm2或者更早的,那么你可能不需要再看了,因为你可能比我更了解它了~
这里我还想说的是,这里我所写的都是不适用gruntjs的哦~如果要配合gruntjs的话,你可以用grunt安装个shell插件来执行build spm这个命令(不用grunt的孩子们这句话就别管了哦~)
言归正传:将cmd的目录跳转到在你准备构建项目的目录下,然后键入spm init,它会自动给你构建出项目的
其实构建出来的这么多东西大部分都没什么用,其中最有用的当然就是package.json。
2.package.json解释
这里呢,我给大家一个官方的文档地址http://spmjs.io/documentation/package.json,大家可以去看下,虽然是英文的,但是TMD是国人自己写的,为什么不MMD写成中文的呢,我********,好了,不说了,都是泪~
看了官网的文档,也许你还是不太明白,其实我也不是很明白,我只好给大家讲讲我自己的看法和简介了~
当你打开这个json文档的时候,你会看到spm这个节点,下面有个dependencies,在它下面放的都是一些插件和工具(给代码用的,我想jq在里面你就能够理解它是干嘛的了),而main这个节点是js的一个主入口,一开始我也不太理解,不过最后我还是不太理解,我觉得能用到的地方是当你开发一款插件(最后只生成一个js的项目)的时候需要用到。
其中比较有用的我感觉是output,这个是一个数组,用来写你js的原始路径(只需要写你主要的js路径就ok了,生成的路径是spm自己生成的)。
3.构建项目
在构建项目时主要也是唯一可以用到的就是运行spm build方法了,这个方法会生成一个dist文件夹,里面的文件什么的,都是通过package.json这个文件中的配置来生成的,所以最好了解一下package.json这个文件。
当你生成好以后修改你页面中seajs.use的路径(也可以修改seajs.config),就能够运行你的项目了!!!
4.say fuck~
oh,no~~~why 我的项目跑步起来,js没报错?但是就是js不执行?
我遇到这个情况已经不是一次了,我一开始搞了好久都是这个问题,恼火死我了,真心不想用spm3了,这蛋疼的东西~~~
后来我才知道原来spm3是整合符合cmd规范的,使用seajs来开发的代码!所以你的模块化代码不需要再写define这个东西,而require、exports、module依然还是存在的不需要你自己写。
当然这也产生了很多问题,就是没有构建的时候你的模块化代码无法跑起来,而构建的时间又“很长”,所以只能说spm3还不够完善~i think 是这样的~
总结:
这是我第一次在博客园发随笔哦,技术水平不够请各位大侠担待~so 3Q~
spm3安装和使用的更多相关文章
- spm3 基本
spm3 命令 spm init //初始化一个spm模块,会生成基本配置以及测试文件等(下图). //注 初始化以后一般需要 鲜执行一下 spm install 安装默认依赖模块 index.js就 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
随机推荐
- (XAML)"XXXX" does not exist in the namespace "clr-
Error 139 Assembly 'System.Activities.Core.Presentation' was not found. Verify that you are not miss ...
- Windows2008防火墙封ip
http://www.bitscn.com/os/windows/201411/406212.html
- 自己动手写ORM
http://blog.csdn.net/sundacheng1989/article/category/1350100
- Yii 框架中带有区间的搜索
- ConcurrentHashMap使用要点
ConcurrentHashMap的简要总结: 1.public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁: 2.put.remove方法要使用锁,但并不一定有锁争用 ...
- R %operator% 含义
%foo% is the syntax for a binary operator. In base R: %in%: '"%in%" <- function(x, tabl ...
- Android NFC开发概述
NFC手机相比普通手机来说,有以下3个附加功能: 1.可以当成POS机来用,也就是“读取”模式 2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能 3.可以像蓝牙.Wi-Fi一样做点 ...
- windows 下使用 zip安装包安装MySQL 5.7
以下内容参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html 解压缩zip到D:\mysql-5. ...
- [技巧]把Excel里的数据插入到数据库里的方法
.如果先在6行数据的最后一列在插入一列数据,请先把列名写好,然后再第一行的该列下输入数字, 然后选中该单元格向下拖拽一个单元格然后就能看到黑色的小框, 双击右下角黑色的小点,6行数据就 会填上默认的第 ...
- BC之Run
Problem Description AFA is a girl who like runing.Today,he download an app about runing .The app can ...