未捕获的ReferenceError:svelte / sapper中未定义require

时间:2020-07-02 13:53:55

标签: javascript fs svelte sapper

尝试使用svelte / sapper创建类似博客的应用程序,因此我目前正在将帖子作为JSON对象写入文件。但是,当我尝试使用fs时,出现以下错误:

Uncaught ReferenceError: require is not defined

下面的文件位于src / routes文件夹中,是处理文件写入功能的地方:

_write.js

function writeFile(obj) {
  var fs = require("fs");
  fs.writeFile('C:/Users/Toby/Documents/GitHub/political-web/src/routes/_posts.js', 'const posts = ' + obj + '; export default posts;', function (err) {
    if (err) throw err;
    console.log('Done!');
  });
}

export default writeFile;

关于我在做什么错的任何想法吗?

1 个答案:

答案 0 :(得分:0)

不确定为什么会收到该特定错误-在运行该代码时应定义require ,除非您以某种方式将其导入客户端应用程序(例如,通过组件) )。

假设情况并非如此,并且您仅从服务器代码中导入_write.js,则将其重写为:

import fs from 'fs';

function writeFile(obj) {
  fs.writeFile('C:/Users/Toby/Documents/GitHub/political-web/src/routes/_posts.js', 'const posts = ' + obj + '; export default posts;', function (err) {
    if (err) throw err;
    console.log('Done!');
  });
}

export default writeFile;