【问题标题】:Cannot statically evaluate fs argument?无法静态评估 fs 参数?
【发布时间】:2020-07-24 04:51:36
【问题描述】:

在运行npm run dev 时,弹出以下错误。

Cannot statically evaluate fs argument
[0]   50 |   // Read file and split into lines
[0]   51 |   var map = {},
[0] > 52 |       content = fs.readFileSync(file, 'ascii'),
[0]      |                                ^
[0]   53 |       lines = content.split(/[\r\n]+/);
[0]   54 |
[0]   55 |   lines.forEach(function(line) {

【问题讨论】:

  • 什么工具会产生这个错误?这听起来像是从 Webpack 或 Rollup 之类的打包工具中得到的错误,而不是标签中列出的任何工具。我的猜测是你在服务器端代码中有这个但不小心让捆绑器试图捆绑它。 (打包者不喜欢非静态文件名,因为他们不知道文件是什么,这意味着他们无法确保文件在包中并正确访问。)
  • 您是否在导入时添加了const fs = require('fs');。我也不明白为什么每行后面都有逗号。这是构建文件夹的输出吗?在正常的开发代码中,应该用分号来结束一行。
  • @VPaul 这只是多个标识符的变量声明。你可以很好地声明var a, b, c,甚至为它们添加一个初始化器var a = 1, b = 2, c = 3是一个完全有效的声明语句。
  • @VLAZ 感谢您的关注。我没有看到循环之前使用了分号。
  • 您的问题需要更详细或更清楚。因为您应该传递content = fs.readFileSync(file, 'ascii'), 整个代码并写下您的愿望。例如为什么你应该使用fs。上传图片?或者别的什么。

标签: javascript node.js reactjs user-interface npm


【解决方案1】:

看看你的依赖,你可能需要npm install,如果你对某些包有问题,那么你必须像npm install mailgun一样手动安装它

【讨论】:

  • 您的答案是基于提问者未提及的内容,请尝试对提问者的帖子发表评论,如果为了清楚起见没有回复,则该问题可能没有足够的信息来提供正确答案。
猜你喜欢
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 2012-02-12
  • 2015-02-25
  • 1970-01-01
相关资源
最近更新 更多