07、React系列之--使用jspm管理

1、使用JSPM管理JavaScript

1、什么是JSPM

jspm是一个浏览器包管理工具也可以理解成是JavaScript的软件包管理工具,它是工作在SystemJs(模块加载器)通用模块之上,jspm不是一个全新的包管理器,而是基于已存在的包资源进行的,它是与NPM和GitHub协同合作的

2、systemjs简述

systemjs是模块加载器,它可以导入任何流行格式的模块(CommonJs,UMD,AMD,ES6),它是工作在 ES6模块加载polyfill 之上,它能够很好的处理和检测所使用的格式。 systemjs 也能使用插件转换es6( 用 Babel 或者 Traceur)或者转换TypeScript 和 CoffeeScript代码。你只需要在导入你的模块之前使用 System.config({ … }) 进行系统配置,jspm使用systemjs管理包及其依赖项,这样我们就不用担心包不按正确的顺序加载。

2、JSPM的使用方法

上面我们大概说了一下什么是jspm现在我们就说说如何使用jspm

1、安装jspm

首先肯定是要安装node,可以使用npm安装

npm install -g jspm

2、使用jspm创建一个项目

  • 1、先创建一个文件夹,并使用npm去初始化
mkdir myProjet 
cd myProject
npm init 
  • 2、使用jspm初始化
jspm init

jspminit.png
完成以后可以一路回车

  • 3、使用jspm去安装所需插件,比如
jspm install react
jspm install react-dom
jspm install jquery
jspm install jspm-loader-css
...等等

jspm_install_react.png
* 4、在myProject中创建index.html并输入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

 <div id="app"></div>

</body>
<!-- 导入system.js-->
<script src="jspm_packages/system.js"></script>
<!-- 导入config.js-->
<script src="config.js"></script>
<script>
    System.import('./app/main');
</script>
</body>
</html>

以上可以看做是一个模板页面

  • 5、在myProject中创建app/main.js
import React from 'react';
import ReactDom from 'react-dom' ;

ReactDom.render(
  <h1>hello jspm</h1>,
document.getElementById('app')
) ;
  • 6、我们这时就可以在本地server中运行index.html了(在这里我使用browser-sync工具)

  • 7、查看结果

jspm_hello_result.png

3、jspm打包

jspm打包的命令格式:

jspm bundle 源js文件 目标目录下/bundle.js

如果项目中有很多的js文件那么我们运行的时候就会加载很多js,我们可以将这些js打到一个包中,就要使用jspm的bundle命令,我们先来看看没有打包的情况吧。

  • 1、没有打包:

1、看index.html用法

jspm_nobundle.png

2、看js的请求,使用网络上一张图片来说明问题

no_bundle_js.png

  • 2、打包

1、打包命令

jspm_bundle_cli.png

2、在index.html中使用

bundle_html_use.png

3、查看请求的js

bundle_js.png

我们可以看到,打包以后把好几个js都打包到bundle.js中了,这样就完了打包工作,方便调用。

例如上面的例子,我们要把main.js中打包成bundle.js那么执行如下命令

jspm bundle app/main.js bundle.js

那么们就会在项目根目录下看到bundle.js文件,接下来我们使用这个bundle.js文件,打开index.html,引入bundle.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

 <div id="app"></div>

</body>
<!-- 导入system.js-->
<script src="jspm_packages/system.js"></script>
<!-- 导入config.js-->
<script src="config.js"></script>
<!-- 添加打包好的bundle.js-->
<script src="bundle.js"></script>
<script>
    System.import('./app/main');
</script>
</body>
</html>

到此为止,我们就介绍完了使用jspm来管理js.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值