我正在try 获取SPA静态应用程序"assets资源 /插图"目录中所有文件的列表,作为JSON对象,以便在Vuex应用store 中重复使用

assets资源 /assets资源 struct 为:

assets
  illustrations
    ill-1
       prop-1-1.jpg
       prop-1_2.jpg
    ill-2
       prop-2-1.jpg
       prop-2_2.jpg
    ill-3
       prop-3-1.jpg
       prop-3_2.jpg

我的目标是实现这样的目标:

  { illustrations: [ill-1: [prop-1-1.jpg, prop-1_2.jpg], ill-2: [prop-2-1.jpg, prop-2_2.jpg], ill-3: [prop-3-1.jpg, prop-3_2.jpg]] }

在我的应用程序中.vue,当安装应用程序组件时,我会启动一个方法getIllustrations()

<script>
export default {
  name: 'app',
  data () {
    return {}
  },
  methods: {
    getIllustrations () {
      const path = require('path')
      const fs = require('fs')
      fs.readdir(path.join(__dirname, 'assets/illustrations'), (err, items) => {
        if (err) { console.log(err) }
        console.log(items)
      })
    }
  },
  mounted () {
    this.getIllustrations()
  }
}
</script>

但我有一个错误:

 Error in mounted hook: "TypeError: fs.readdir is not a function"

我还试着在main中运行这个函数.js文件(正在服务器上运行)同样的错误..

我错在哪里?感谢您的反馈

推荐答案

fs是服务器端模块.你不能在浏览器中使用fs,没有解决方案,这在技术上是不可能的.

https://github.com/vuejs-templates/webpack/issues/262

Vue.js相关问答推荐

如何在AXIOS调用响应中动态导入视频并创建它的绝对路径?

使用内部方法创建计算(computed)属性是否合法?

vue 不重新渲染数据更改

Vue 3 / Vuetify 3:如何为按钮设置全局默认 colored颜色

路径别名在 vue 脚本块中不起作用

手动触发对观察到的对象/数组的更新

我可以在打印 HTML 页面时使用作用域 CSS 吗? (使用 Laravel 和 Vue.js)

从数据库中删除后,Vue.js $remove 不删除元素

避免在运行时向 Vue 实例或其根 $data 添加响应式属性

将检测外部点击自定义指令从 Vue 2 迁移到 Vue 3

[Vue 警告]:渲染函数中的错误:TypeError:无法读取属性 'first_name' of null

在组件的样式部分使用 Vue 变量

VueJS + Typescript:类型上不存在属性

单击复选框后,V-model 未更新

Vue router路由,Root Vue 没有数据?

Vue devServer 代理没有帮助,我仍然收到 CORS 错误

触发子函数

mount() 仅在组件 Vue.js 上运行一次

TypeError: Object(...) 不是 Vue 中的函数

Apollo 客户端在向服务器发送Mutations 时返回400(错误请求)错误