Coder Social home page Coder Social logo

loader's Introduction

loader

Node静态资源加载器。该模块通过两个步骤配合完成,代码部分根据环境生成标签。上线时,需要调用minify方法进行静态资源的合并和压缩。

Usage

Installation

npm install loader

Example

<%- Loader("/assets/scripts/jqueryplugin.min.js", "/assets/styles/jqueryplugin.min.css")
  .js("/assets/scripts/lib/jquery.jmodal.js")
  .js("/assets/scripts/lib/jquery.mousewheel.min.js")
  .js("/assets/scripts/lib/jquery.tagsphere.min.js")
  .css("/assets/styles/jquery.autocomplate.css")
  .done(env, version) %>

线上输出

线上模式将会输出合并和压缩后的地址,该地址从Loader构造参数中得到。

<script src="/assets/scripts/jqueryplugin.min.js?version=version"></script>
<link rel="stylesheet" href="/assets/styles/jqueryplugin.min.css?version=version" media="all" />

线下输出

线下模式输出为原始的文件地址。

<script src="/assets/scripts/lib/jquery.jmodal.js"></script>
<script src="/assets/scripts/lib/jquery.mousewheel.min.js"></script>
<script src="/assets/scripts/lib/jquery.tagsphere.min.js"></script>
<link rel="stylesheet" href="/assets/styles/jquery.autocomplate.css" media="all" />

API

Loader(mincss, minjs)

构造函数,参数为CSS和JS的合并文件地址,根据后缀名判断,顺序可以互换,但是不能同时为CSS或JS文件。后续通过css或者js加载的文件,都会合并到这两个文件中。

css(path)

加载CSS文件。

js(path)

加载JS文件。

done(env, version)

根据env参数和version参数生成最终的加载标签。
env:值为production或其他。
version:值为静态文件的版本号,用于生产环境。

Loader.scanDir(folder)

从指定目录扫描Loader的调用,返回一个扫描得到的合并压缩关系数组。这个关系数组最终将用于生成合并压缩的文件。
folder:扫描的目录
return

[
  {min: "x.min.js", assets:["path1", "path2"]},
  {min: "x.min.css", assets:["path1", "path2"]}
]

Loader.minify(basedir, arr, [justCombo])

从扫描得到的压缩关系数组中进行合并和压缩文件。
basedir:基本路径,生成的文件将放在此目录下。
arrscanDir方法返回的关系数组。
justCombo:如果此参数为true,将不会通过uglify进行编译压缩,仅进行合并,多用于调试线上bug用。

License

MIT license

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.