[Wind.js]

Wind.js是一个异步加载js 和 css 的类库,核心是基于 head.js 的,phpwind 团队在 head.js 基础上封装了一些方法,可以更加方便的异步加载 js 和 css。 此文件在public/static/js/wind.js

[异步加载js]

Wind.use()方法可以异步加载 js,比如我们要异步加 noty,加载完后就提示信息

  1. Wind.use('noty', function () {
  2. noty({
  3. text: "noty加载成功了",
  4. type: 'success',
  5. layout: '',
  6. callback: {
  7. afterClose: function () {
  8. alert('noty 关闭了!');
  9. }
  10. }
  11. });
  12. });

上面的noty,其实是noty.js 的别名,它真实的路径在public/static/js/noty/noty.js,我们事先已经为它设置了noty,所以Wind.js 会自动根据别名来加载这个 js,当然也可以直接使用 js 的绝对地址加载它;所以可以使用 Wind.js异步加载任何一个 js 代码。

  1. Wind.use('__STATIC__/js/noty/noty.js', function () {
  2. noty({
  3. text: "noty加载成功了",
  4. type: 'success',
  5. layout: '',
  6. callback: {
  7. afterClose: function () {
  8. alert('noty 关闭了!');
  9. }
  10. }
  11. });
  12. });

同时 Wind.js 支持任意多个 js 文件加载,只要不断地增加 use方法的参数就可以了;

比如我们一次加 noty,和 noty3,回调方法会在两个 js 都加载完成后才会执行,这样你可以把 Wind.use()当成一个 js 依赖库的导入方法。

  1. Wind.use('noty', 'noty3',function () {
  2. // noty
  3. noty({
  4. text: "noty加载成功了",
  5. type: 'success',
  6. layout: '',
  7. callback: {
  8. afterClose: function () {
  9. alert('noty 关闭了!');
  10. }
  11. }
  12. });
  13. // noty3
  14. new Noty({
  15. text: "noty3加载成功了",
  16. type: 'success',
  17. layout: 'topCenter',
  18. modal: true,
  19. animation: {
  20. },
  21. timeout: 500,
  22. callbacks: {
  23. afterClose: function () {
  24. alert('noty3 关闭了!');
  25. }
  26. }
  27. }).show();
  28. });

[异步加载 css]

Wind.css(),可以异步加载css,比如我们要异步加 ueditor的 css,加载完后就提示信息。

  1. Wind.css('ueditor',function(){
  2. alert('ueditor css 加载完成!');
  3. });

上面的ueditor,其实是ueditor css的别名,它真实的路径在public/static/js/ueditor/themes/default/css/ueditor.min.css,我们事先已经为它设置了ueditor,所以Wind.js 会自动根据别名来加载这个css,当然也可以直接使用css的绝对地址加载它;所以可以使用 Wind.js异步加载任何一个css代码。

  1. Wind.use('__STATIC__/js/ueditor/themes/default/css/ueditor.min.css', function () {
  2. alert('ueditor css 加载完成!');
  3. });

Wind.css()一次只能加载一个 css