https://github.com/vicanso/jtfileimporter
import css js file
https://github.com/vicanso/jtfileimporter
Last synced: 8 months ago
JSON representation
import css js file
- Host: GitHub
- URL: https://github.com/vicanso/jtfileimporter
- Owner: vicanso
- Created: 2013-11-25T12:26:58.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2016-12-10T01:07:09.000Z (almost 9 years ago)
- Last Synced: 2025-01-28T01:18:25.408Z (9 months ago)
- Language: JavaScript
- Size: 110 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JTFileImporter
[](https://api.travis-ci.org/vicanso/jtfileimporter.png)
# 背景
在web开发过程中,网页中如何引入静态文件成为一个需要解决的问题,传统的直接写标签引入的方式已经不再适用,如何更好的管理静态文件的引入已成为首要的解决问题
# 需求
- 页面中各模块根据自己的需要引入静态文件
- 各模块中重复引入的静态文件应该可以去重
- 可以为静态文件配置对应的版本号(为了能够避免浏览器缓存问题导致的更新不及时)
- 可以为静态文件添加特定的前缀url(为了在同样的host下部署不同的应用,以前缀区分)
- 可以配置多个host,静态文件随机选择不同的host加载
# API
- [constructor](#constructor)
- [prefix](#prefix)
- [hosts](#hosts)
- [version](#version)
- [versionMode](#versionMode)
- [import](#import)
- [exportCss](#exportCss)
## constructor
### 构造函数,返回Importer对象
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
```
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
//set
import.prefix = '/mobile';
//get
console.dir(importer.prefix);
```
## hosts
### 静态文件使用的hosts(可以是字符串或者数组)
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
// 设置为单个域名
importer.hosts = 'vicanso.com';
// 设置为多个域名
importer.hosts = ['vicanso.com', 'jenny.com'];
```
## version
### 静态文件的版本号(可以是字符串或者对象)
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
// 设置单个版本号(所有静态文件共用)
importer.version = 'abcd';
// 设置为Object
importer.version = {
'/a.js' : 'abce',
'/b.js' : 'defac',
'/c.css' : 'ogjeaofe',
'default' : 'bdae' //未在对象中配置的静态文件使用
};
```
## versionMode
### 引入版本号的形式(0:fileName.ext?v=xxx的形式,1:fileName_xxx.ext)
```js
var importer = new Importer();
importer.import('/abc/1.css', '/2.css');
importer.versionMode = 1;
importer.version = {
'/abc/1.css' : '123',
'/2.css' : '234'
};
importer.exportCss(); //
```
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
importer.import('/a.js');
importer.import('/b.js', '/c.css');
importer.import(['/d.js', '/e.css']);
```
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
importer.import('/a.js');
importer.import('/b.js', '/c.css');
importer.import(['/d.js', '/e.css']);
importer.exportCss(); //
```
```js
var Importer = require('jtfileimporter');
var importer = new Importer();
importer.import('/a.js');
importer.import('/b.js', '/c.css');
importer.import(['/d.js', '/e.css']);
importer.exportJs(); //
```