最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Gulp还能这么玩?你知道吗

    正文概述 掘金(蛙人)   2021-02-07   485

    哈喽大家好,我依旧是那个可爱的蛙人。

    我在北京某个角落和某人苦苦逼逼在写码,你在那里过得好的嘛,某人会给你加需求嘛。

    话不多说,直接楼代码。


    演示

    我们先来演示一下完整效果

    Gulp还能这么玩?你知道吗

    我写这个例子呢,就是我在写vue项目中,每次创建一个文件还得手动敲<template> <script> <style>标签,这样就很繁琐。我最近呢也在捣鼓Gulp发现它还能这样玩,"输出文件","模板注入"。如果对这个demo感兴趣的小伙伴继续往下看,我贴上代码。

    配置环境

    如果还没装Gulp环境,请到这里Gulp官网安装,下面我来说一下用到的gulp插件

    npm i gulp-inject --save // 模板注入 这种模板注入只能根据注释位置来注入,所以想要注入必须有注释位置,不懂的百度参考资料一大堆
    npm i gulp-replace --save // 替换内容
    npm i gulp-rename --save // 修改文件名称
    

    gulpFile.js

    const { src, dest } = require('gulp');
    const rename = require('gulp-rename');  // 修改代码后缀
    const inject = require('gulp-inject') // 模板注入
    const replace = require('gulp-replace') // 替换内容
    
    // 创建页面
    function createPage(cb) {
        const len = process.argv.length - 1
        const pageName = process.argv[len].slice(2, process.argv[len].length)  // 获取自定义文件名称参数
        src('./template/template.vue') // 找到要注入的模板
            .pipe(rename(`${pageName}.vue`)) // 替换成咱们终端里参数的名称
            .pipe(inject(src('./template/index.vue'), { // 这里的index.vue是个空文件就行
                starttag: '// start',
                endtag: '// end',
                transform() {
                    return `<template>
        <div id="${pageName}"><div> // 当前文件名称作为标识id
    </template>`
                }
            }))
            .pipe(replace('// start', ''))  // 将注释替换为空
            .pipe(replace('// end', ''))  // 将注释替换为空 
            .pipe(dest(__dirname + '/dist')) // 最后输出到别的目录中
        cb() 
    }
    
    exports.page = createPage  // 导出任务
    

    template/template.vue

    // start
    // end
    <script>
    export default {
        data() {
            return {
    
            }
        },
        methods: {
            
        }
    }
    </script>
    <style scoped lang="stylus">
    
    </style>
    

    template/index.vue

    这个文件是个空文件就行


    觉得写的不错的话,那就点个赞叭!


    下载网 » Gulp还能这么玩?你知道吗

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元