fis3 + vue 配置

18 篇文章 3 订阅

 现在我不推荐这个fis3 , 新出的fis3 可能有个Bug,忘了版本多少 大家还是选webpack吧

/**
 * Created by meng on 2018-7-16
 * 开发环境 dev
 * 生产环境 prod
 */
fis
    .media('dev')
    .match('*.css', { // 压缩css
        // fis-optimizer-clean-css 插件进行压缩,已内置
        optimizer: null
    })
    .match('*.js', { // 压缩js
        // fis-optimizer-uglify-js 插件进行压缩,已内置
        optimizer: null
    })
    .match('*.png', { // 压缩图片
        // fis-optimizer-png-compressor 插件进行压缩,已内置
        optimizer: null
    });

fis
    .media('prod')
    .match('*.css', { // 压缩css
        // fis-optimizer-clean-css 插件进行压缩,已内置
        optimizer: fis.plugin('clean-css')
    })
    .match('*.js', { // 压缩js
        // fis-optimizer-uglify-js 插件进行压缩,已内置
        optimizer: fis.plugin('uglify-js')
    })
    .match('*.png', { // 压缩图片
        // fis-optimizer-png-compressor 插件进行压缩,已内置
        optimizer: fis.plugin('png-compressor')
    })
    
// 加hash
fis.match('*.{js,css,png,jpg}', {
    useHash: true
});
    
fis.match('::package', {
    postpackager: fis.plugin('loader', {
        allInOne: true
    })
});

// 构建vue文件
fis.match('*.vue', {
    isMod: true,
    rExt: '.js',
    useSameNameRequire: true,
    parser: fis.plugin('vue-component', {
        runtimeOnly: true, // vue@2.x 有润timeOnly模式,为ture时,template会在构建时转为render方法, 这里开启后paths中无需指定

        // styleNameJoin
        styleNameJoin: '', // 样式文件命名连接符 `component-xx-a.css`

        extractCSS: true, // 是否将css生成新的文件, 如果为false, 则会内联到js中

        // css scoped
        cssScopedIdPrefix: '_v-', // hash前缀:_v-23j232jj
        cssScopedHashType: 'sum', // hash生成模式,num:使用`hash-sum`, md5: 使用`fis.util.md5`
        cssScopedHashLength: 8 // hash 长度,cssScopedHashType为md5时有效
    })
}).match('{*.styl, *.vue:stylus}', {
    parser: fis.plugin('stylus'),
    postprocessor: fis.plugin('autoprefixer'),
    rExt: '.css'
}).match('{api/**.js, store/**.js, src/**.js, config/**.js, *.vue:js, dep/d3.js}', {
    parser: fis.plugin('babel-6.x', {
        presets: ['es2015', 'stage-3'],
        plugins: ['add-module-exports']
    }),
    rExt: '.js'
});

// 禁用fis3默认的fis-hook-src
fis.unhook('components');
fis.hook('node_modules');

fis.set('project.md5Connector ', '.');

// 添加commonjs支持 (需要先安装fis3-hook-commonjs)
fis.hook('commonjs', {
    baseUrl: './',
    paths: {
        'component': 'src/component',
        'page': 'src/page'
    },
    extList: ['.js', '.jsx', '.es']
});

// 为node_modules文件添加针对mod.js的转换
fis.match('/node_modules/**.js', {
    useSameNameRequire: true,
    isMod: true
});

fis.match('/src/**.js', {
    useSameNameRequire: true,
    isMod: true
});

fis.match('{/static/js/mod.js,fis-conf.js}', {
    isMod: false
});

// 指定文件输出位置,将HTML文件的输出到根目录下
fis.match('src/**/(*.html)', {
    release: '/$1'
});

// 忽略文件
fis.set('project.ignore', [
    'node_modules/**',
    '/fis-conf.js',
    '/*.json',
    '.git/**',
    '/*.md',
    '.svn/**',
    'old.*',
    'www/**'
]);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值