当前位置:   article > 正文

VUE前端代码中读取文件中的代码进行展示_vue readdirsync

vue readdirsync

需求:展示项目中前端项目中一些代码到页面中展示。

一开始想着用require.context获取文件内容,然后用code渲染,require后的文件是经过编译的,所以,想到用nodejs读取文件,然后把文件内容放到环境变量中,这样在VUE代码中就可以取环境变量而获取文件内容了。

  1. 文件名:getfiles.js
  2. 'use strict'
  3. const path = require('path')
  4. var fs = require("fs");
  5. const fileDatas = {};
  6. const pathName = path.resolve(__dirname, './src/common/commonJs');
  7. function getFilesByDir(pathName) {
  8. const files = fs.readdirSync(pathName);
  9. for(var i = 0;i < files.length;i ++){
  10. const file = fs.statSync(path.join(pathName, files[i]))
  11. if(file.isFile()){
  12. const fileData = fs.readFileSync(path.join(pathName, files[i]), 'utf-8')
  13. fileDatas[files[i]] = fileData
  14. }else if(file.isDirectory()){
  15. getFilesByDir(path.join(pathName, files[i]))
  16. }
  17. }
  18. }
  19. getFilesByDir(pathName);
  20. module.exports = fileDatas;
  1. 文件:vue.config.js
  2. const fileData = require('./getfiles');
  3. process.env.VUE_APP_COMMON_JS = JSON.stringify(fileData);
  1. 使用:vue文件
  2. mounted() {
  3. this.urlData = JSON.parse(process.env.VUE_APP_COMMON_JS);
  4. //代码展示用的hhighlight.js
  5. hljs.highlightAll();
  6. }

这样就可以了。

代码其实不重要,重要的是很多事情,并不是一定要在项目代码中搞,其实webpack或者vite能帮我们提供另外一种思路去实现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/478485
推荐阅读
相关标签
  

闽ICP备14008679号