JSON.parse:运行 nextjs 时 JSON 数据第 1 行第 1 列处的意外字符



我的项目在访问任何页面时突然开始出现以下错误:

JSON.parse: unexpected character at line 1 column 1 of the JSON data

从头开始重建项目后,我发现原因是在 dev 命令上设置的节点路径,如下所示:

//package.json file
"NODE_PATH=. next"

这是此处描述的常见解决方案,用于启用打字稿的nextjs项目在导入时使用绝对路径。

要重现,请按照以下步骤操作:

  1. 运行 npm init next-app 以创建应用。 将项目命名为任何你喜欢的名称。
  2. 将 package.json 文件上的 dev 命令更改为:dev:"NODE_PATH=。下一个">
  3. 运行 npm 运行开发
  4. 访问网站。您应该看到一个空白页面,而不是简介页面。
  5. 在浏览器上打开 JavaScript 控制台。错误应该在那里。

这是我发现的唯一一个在本地和Vercel云中都有效的解决方案。 保留此绝对路径的任何修复/方法都很好

这里是堆栈。没有增加太多,但无论如何:

<anonymous> platform.js:14
NextJS 3
js
__webpack_require__
fn
<anonymous> detect-focus.js:19
NextJS 3
js
__webpack_require__
fn
<anonymous> supports.js:21
NextJS 3
js
__webpack_require__
fn
<anonymous> valid-tabindex.js:55
NextJS 3
js
__webpack_require__
fn
<anonymous> tabindex-value.js:22
NextJS 3
js
__webpack_require__
fn
<anonymous> focus-relevant.js:19
NextJS 3
js
__webpack_require__
fn
<anonymous> focusable.js:7
NextJS 3
js
__webpack_require__
fn
<anonymous> focusable.strict.js:8
NextJS 3
js
__webpack_require__
fn
<anonymous> focusable.js:42
NextJS 3
<anonymous> disabled.js:37
NextJS 3
<anonymous> Overlay.js:29
NextJS 3
<anonymous> index.js:3
NextJS 3
<anonymous> Errors.js:81
NextJS 3
<anonymous> ReactDevOverlay.js:44
NextJS 3
<anonymous> client.js:87
NextJS 3
<anonymous> hot-dev-client.js:1
<anonymous> hot-dev-client.js:375
NextJS 3
<anonymous> webpack-hot-middleware-client.js:1
<anonymous> webpack-hot-middleware-client.js:107
NextJS 3
<anonymous> next-dev.js:1
<anonymous> next-dev.js:149
NextJS 5

所有组件都是最新的:

//package.json
"dependencies": {
"next": "9.4.1",
"react": "16.13.1",
"react-dom": "16.13.1"
}
nodejs version: v12.16.3

绝对路径使用示例:

import TopBar from 'components/TopBar' // for components
import "public/baseLine.css" // for any public resources

我能够通过更改webpack配置来保持路径完全相同:

//next.config.js file
module.exports = {  
webpack(config) {
config.resolve.modules.push(__dirname)
return config;
},
}

现在在 Next 9.4 中支持并内置

了此功能如果您在更新到Next 9.4后通过谷歌搜索来到这里,请务必使用jsconfig.json文件,并且您没有任何地方NODE_PATH=.。我在 PHPStorm 中拥有它,并且必须挖掘很多才能找到问题的根源。

相关内容

  • 没有找到相关文章

最新更新