Lee*_*iam 76 package-managers bower jspm
如何鲍尔不同于JSPM?Bower能否提供有关SystemJS通用模块加载器的 jspm功能?
Cap*_*paj 100
JSPM是一个比Bower更大,更雄心勃勃的项目.Bower只有一个目的 - 将您需要的源文件从Web下载到硬盘.对于你作为消费者,凉亭不做任何其他事情.如果要从bower执行脚本文件,则需要为每个脚本文件创建脚本标记.
虽然jspm不仅是一个模块下载器.它默认下载你提到的systemjs.SystemJS尽可能与https://whatwg.github.io/loader/紧密相关.实际上,JSPM的作者是规范过程的非常积极的参与者.使用systemjs,今天您可以在浏览器中加载ES6(通过在浏览器中进行转换),CommonJS或AMD模块,而无需构建它们.不仅是ES6模块,还有traceur/babeljs/typescript支持的所有其他ES6功能.取决于您在运行时选择的编译器jspm init
.SystemJS在node.js和浏览器中以1:1的方式工作,因此可以轻松完成对应用程序的单元测试.
此外,它还可以jspm build
在您需要进行生产时为您()构建捆绑包.所以很明显jspm(+ systemjs)是一个更强大的工具.所以作为经验法则:
tru*_*ktr 64
再加上Capaj的回答:
如果你有一个小项目,无论如何都要使用jspm!这是未来!(谁知道,事情会发生变化,但这是一个不错的选择).
小项目用途:
$ jspm install jquery
Run Code Online (Sandbox Code Playgroud)
然后在你的HTML中:
<script src="jspm_packages/system.js"></script><!-- required -->
<script src='config.js'></script><!-- required -->
<script type="module">
System.import('path/to/your/main.js')
</script>
Run Code Online (Sandbox Code Playgroud)
然后在main.js中:
import $ from 'jquery'; // ES6-style import
// do whatever with jQuery here.
Run Code Online (Sandbox Code Playgroud)
您可以使用CommonJS,AMD或ES 6模块格式.JSPM会在您的文件中自动检测它们(但您不能在同一文件中混合和匹配).
var $ = require('jquery'); // CommonJS-style import
// do whatever with jQuery here.
Run Code Online (Sandbox Code Playgroud)
define(['jquery'], function($) { // AMD-style import
// do whatever with jQuery here.
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16543 次 |
最近记录: |