# zfc_2
**Repository Path**: lanbos_document/zfc_2
## Basic Information
- **Project Name**: zfc_2
- **Description**: zfc2017活动2
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-12-18
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# fis-vue-component 组件化-demo
* 结合fis3、fis3-parser-vue-component实现vue组件化开发;
* 静态资源可以按需打包,只把require的资源整合并且合并;
* 支持公共库单独引用,提高缓存利用率;
## 功能
* 使用fis3-parser-vue-component实现vue单文件解析
* 使用fis3-postpackager-loader,实现静态资源按需加载,并且公共库(如zepto、vue、mod,icon.css,base.css)合并打包
* 使用fis3-postprocessor-autoprefixer,解析css3兼容并根据配置生成制定css前缀
* 使用fis-parser-typescript,实现es6文件解析
* 使用fis3-parser-less-2.x,实现less解析
## 使用步骤
1. `git clone`
2. `cd `
3. `npm install`
4. `npm run dev`
5. `sudo fis3 server start`
6. `npm run prod` #打包
## 工具
* [fis3](http://fis.baidu.com/fis3/index.html)
* [vue](https://cn.vuejs.org/)
* [fis3-parser-vue-component](https://github.com/ccqgithub/fis3-parser-vue-component)
* [fis3-postprocessor-autoprefixer](https://github.com/huixisheng/fis3-postprocessor-autoprefixer)
* [fis-parser-babel-6.x](https://github.com/fex-team/fis-parser-babel-6.x)
* [fis3-parser-less-2.x](https://github.com/snadn/fis-parser-less-2.x)
```bash
├── fis-parser-es6-babel@1.0.0
├── fis-parser-less@0.1.3
├── fis3@3.4.36
├── fis3-hook-commonjs@0.1.26
├── fis3-hook-node_modules@2.2.9
├── fis3-hook-relative@2.0.0
├── fis3-parser-typescript@1.1.4 #可选
├── fis3-parser-vue-component@5.5.0
├── fis3-postpackager-loader@2.1.6
├── fis3-preprocessor-autoprefixer@0.1.1
```
## 配置
### 打包配置
fis.match('::package', {
postpackager: fis.plugin('loader', {
allInOne: {
ignore: ['/static/lib/**.js','node_modules/**','/static/css/base/**'],
}
})
});
### less解析
fis.match('{*.vue:less,*.less}', {
rExt: 'css',
parser: [fis.plugin('less-2.x')],
postprocessor : fis.plugin("autoprefixer",{
"browsers": ['Safari >= 6', 'Chrome >= 12', "ChromeAndroid >= 4.0"],
"flexboxfixer": true,
"gradientfixer": true
})
});
### vue解析
```js
fis.match('**.vue', {
isMod: true,
rExt: 'js',
parser: [
fis.plugin('vue-component', {
ccssScopedFlag: '__vuec__',
extractCSS: true,
styleNameJoin: '',
}),
fis.plugin('typescript', {
noImplicitUseStrict: true
// options
})
]
});
```
## 代码
### 编译前-vue文件(a.vue)