jspm
1、简介
- JavaScript 模块的写法有几种,比如 AMD,CommonJS .. 还有标准化的 ES6 的写法 .. jspm 支持加载所有的用这些方法写的 JavaScript 模块
- 在你的应用里,现在就可以使用 ES6 提供的标准写法 .. 至于怎么去载入模块可以交给 jspm 去处理 .. 也就是你只需要了解 ES6 的模块写法 ..
- jspm 还是一个为浏览器上用的东西准备的一个包管理 .. 比如它可以让你去从不同的源去安装不同的包 .. 默认的源有 npm ,还有 github .. 安装好你需要的包以后,在你的代码里,只需要一行代码,就可以使用这些包提供的功能 .. 不用担心其它的事情 . .
- 在开发的时候,jspm 可以使用 Traceur 或者 Babel ,实时的在浏览器上编译 JavaScript ,把 es6 的代码编译成 es5 的代码 ..
- 在正式发布应用的时候,可以优化创建的模块,把模块依赖的东西打成一个包
2、安装jspm
npm install jspm -g 在全局范围安装jspm,就可以在任何地方使用jspm命令了
jspm // 完成后输入jspm,会返回一些帮组信息
cd ~/desktop
mkdir reactProject // 创建项目文件夹
cd reactProject
npm init // 创建package.json,一路回车即可
ls // 查看文件夹,就会一个package.json文件
npm install jspm --save-dev // 把 jspm添加到项目开发依赖
ls // node_modules package.json两个文件
jspm init // 为jspm创建配置文件config.js, 一系列问题,可一路回车
ls // 会发现有config.js , jspm_packages(jspm安装的一些包) node_modules package.json
3、安装包 jspm install
jspm install jquery=github:components/jquery
jspm uninstall jquery
4、使用ES6模块, BrowserSync 使用
1. npm install -g browser-sync // 安装Node后,通过npm安装BrowserSync(自动刷新)
2. 使用BrowserSync: browser-sync start --server 开启服务
browser-sync start --server --no-notify --files 'index.html, app/**/*.js'
5、打包bundle 功能
- 打开浏览器的开发者工具 .. 再打开 network 这个选项卡 .. 在这里你会看到被下载的一些东西 .. 这里有挺多 js 文件 .. main.js .. fruit.js ,jquery.js 等等 ..
- jspm 支持 bundle,也就是打包的功能,就是把一些资源打包成一个东西 .. 比如下面我们去把 main.js 这个模块打包成一个东西 ..
打包用的是 jspm bundle 命令
进入项目目录
jspm bundle app/main app/build.js // 将app文件夹下的main.js里面的js都打包到build.js中
完成以后,会在 app 目录下面创建一个叫 build.js 的文件 .. 回到编辑器 .. 用一个 script 标签 .. 把 app 下的 build.js 嵌入进来 .. 保存 ..
再回到浏览器 .. 在 network 这个选项卡里,会少了很多 js 文件,因为我们把它们打成了一个包 .. 就是这个 build.js ..- 没有打包
打包
build.pngjs_bundle.png
jspm的更多相关文章
- jspm 是浏览器包管理工具
jspm 是浏览器包管理工具. jspm 是 SystemJS 通用模块加载器的包管理器,基于动态 ES6 模块加载器 直接从任意的 registry(比如 npm 或者 GitHub)加载任意模块格 ...
- [Javascript] An Introduction to JSPM (JavaScript Package Manager)
JSPM can handle installed packages, transpiling ES6, and bundling all from the command-line. This vi ...
- jspm 简介
借鉴:http://www.jianshu.com/p/4aba847b3e8c 功能 1. 支持加载JavaScript各种模块化的写法:AMD.CommonJS.标准化的ES6模块... 2. 包 ...
- jspm 安装试用
1. 安装 yarn global add jspm or npm install -g jspm 2. 创建项目使用 mkdir appdmeo jspm init 3. 安装依赖 jspm ins ...
- 作为前端er,写在年末的一些话
写惯了技术类的文章,这种总结和唠嗑型的我基本也就在年末才来一篇.说实话,这种轻松类的文章往往比技术类的要受欢迎的多,因为其受众更广,看起来也不烧脑. 说来愧疚,这一年其实产出有点低,大致就写了不到二十 ...
- JavaScript资源大全中文版(Awesome最新版)
Awesome系列的JavaScript资源整理.awesome-javascript是sorrycc发起维护的 JS 资源列表,内容包括:包管理器.加载器.测试框架.运行器.QA.MVC框架和库.模 ...
- ES6环境搭建及react-router学习
一.起因 ES6新纳入了很多振奋人心的新特性,真的很让人忍不住去尝试一下.不过,由于现在大部分的浏览器对ES6的支持程度都不是很好.所以如果想要放心地使用一些新特性,还需要用一些工具,将ES6或者ES ...
- VS2015插件
这里记录一下,VS2015使用的插件和具体用法链接 Refactoring Essentils:代码重构分析 http://vsrefactoringessentials.com/ 可以使用 取消 R ...
- JS 模块化和打包方案收集
1.这里想讨论的是拆分规则,不是在问哪个工具怎么使用.2.这里没有在想找正确答案,因为感觉这个问题要结合具体业务场景. 随着项目开发越来越大,一开始代码全打包到一个文件的方式,让文件越来越大,接下来要 ...
随机推荐
- 学习Hive和Impala必看经典解析
Hive和Impala作为数据查询工具,它们是怎样来查询数据的呢?与Impala和Hive进行交互,我们有哪些工具可以使用呢? 我们首先明确Hive和Impala分别提供了对应查询的接口: (1)命令 ...
- 20170411 F110初始界面-建议清单
功能块代码 F110 开发类 FIBP 事务说明 自动付款参数 程序 SAPF ...
- Python基础-序列化(json/pickle)
我们把对象(变量)从内存中变成可存储的过程称之为序列化,比如XML,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等 ...
- Linux基础系列:常用命令(2)
作业一: 1) 新建用户natasha,uid为1000,gid为555,备注信息为“master” groupadd -g 555 natasha useradd -u 1000 -g 555 -c ...
- str字符串、bool类型常用方法总结
字符串拼接 必须是字符串与字符串拼接 print('马化腾'+'马云') print('马化腾' * 10) 将打印10个马化腾 字符串翻转 [ : :-1] 字符串可以加和乘,不能减和乘 input ...
- ios-如何搭建IPv6网络测试环境(转)
工具/原料 mac一台 iPhone手机2台(一台用于测试,另一台提供网络) 方法/步骤 准备网络.通过数据线连接iPhone和Mac,并将iPhone手机连接的Wi-Fi关闭,使用自己的 ...
- 苹果终端wifi图标点亮慢和portal弹窗机制分析以及处理办法和建议
转:http://kms.h3c.com/View.aspx?id=52875 问题现象 在无线环境中经常碰到苹果终端连接无线后wifi图标无法点亮导致终端无法上网.在起portal的网络中认证页面无 ...
- 【Flask】Sqlalchemy limit, offset slice操作
### limit.offset和切片操作:1. limit:可以限制每次查询的时候只查询几条数据.2. offset:可以限制查找数据的时候过滤掉前面多少条.3. 切片:可以对Query对象使用切片 ...
- ubuntu下make无法安装的问题
发布时间:2015-10-30 10:51:30来源:linux网站作者:_莫欺少年穷 在帮同学服务器安装环境过程中,发现,make 命令不能使用,提示: The program 'make' is ...
- 去duplicate的方法
1.什么是duplicate,为什么要去除. 什么是duplicate:这是在建库的过程后,对已连有接头的DNA片段进行扩增,然后去接flowcell.之所以在建库后扩增,这是由于接flowcell的 ...