nodejs生成模板文件
Posted ——海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs生成模板文件相关的知识,希望对你有一定的参考价值。
之前为了学习,用vue-cli搭了一个前端架子,但是每次新建组件的时候都需要新建文件夹和.vue文件,感觉很繁琐。本着““懒惰是程序员的第一美德”的宗旨,用node写了一个简单的自动生成组件名字和内容的脚本。
/** * node c componentName * @componentName {String} 组件名 */ const fs = require(‘fs‘); const path = require(‘path‘); // 获取到组件名 const args = process.argv.splice(2); const componentName = args[0]; console.log(‘prepare to creat a ‘ + componentName + ‘ component‘); let root = ‘./src/components/‘; // 读取模板文件,并修改内容 let template = fs.readFileSync(path.join(__dirname, ‘./template.vue‘), ‘utf8‘); let content = template.replace(/componentName/g, componentName); // target file content // 目标文件夹和目标文件的路径 let targetDirPath = path.join(__dirname, root, componentName); let targetFilePath = path.join(__dirname, root, componentName, componentName + ‘.vue‘); // mkdirSync if (!fs.existsSync(targetDirPath)) { fs.mkdirSync(targetDirPath); console.log(‘The ‘ + targetDirPath + ‘ folder has been created!‘); } // writeFile async if (!fs.existsSync(targetFilePath)) { fs.writeFile(targetFilePath, content, (err) => { if (err) throw err; console.log(‘The ‘ + targetFilePath + ‘ has been created!‘); }); } else { console.error(‘error!\n‘ + targetFilePath + ‘ has already been existed!‘); }
template.vue的内容如下:
<template> <div class="componentName"> </div> </template> <script> export default { name: ‘componentName‘, data () { return { } } } </script> <style lang="scss" rel="stylesheet/scss"> </style>
以上是关于nodejs生成模板文件的主要内容,如果未能解决你的问题,请参考以下文章
VS Code配置snippets代码片段快速生成html模板,提高前端编写效率
使用vscode,新建.vue文件,tab自动生成vue代码模板