How solve issue TypeError: strings.slice(...).reduce is not a function?
How solve issue TypeError: strings.slice(...).reduce is not a function?
我最近发现了 Gatsby,我想将这个模板用于我自己的网站:
https://github.com/toboko/gatsby-starter-fine
下载时,设法 运行 它 http://localhost:8000/ 但我得到这个错误,我可以逃避:
TypeError: strings.slice(...).reduce 不是函数
我在这里添加了我的存储库,所以你也可以看看:https://github.com/melariza/gatsby-starter-fine
你能看一下并帮助修复吗?
错误截图:
enter image description here
这是错误文本:
TypeError: strings.slice(...).reduce is not a function
css
/Users/mga/Sites/gatsby-starter-fine/.cache/loading-indicator/style.js:5
2 |
3 | function css(strings, ...keys) {
4 | const lastIndex = strings.length - 1
> 5 | return (
6 | strings.slice(0, lastIndex).reduce((p, s, i) => p + s + keys[i], ``) +
7 | strings[lastIndex]
8 | )
View compiled
Style
/Users/mga/Sites/gatsby-starter-fine/.cache/loading-indicator/style.js:14
11 | const Style = () => (
12 | <style
13 | dangerouslySetInnerHTML={{
> 14 | __html: css`
15 | :host {
16 | --purple-60: #663399;
17 | --gatsby: var(--purple-60);
View compiled
▶ 18 stack frames were collapsed.
(anonymous function)
/Users/mga/Sites/gatsby-starter-fine/.cache/app.js:165
162 | dismissLoadingIndicator()
163 | }
164 |
> 165 | renderer(<Root />, rootElement, () => {
166 | apiRunner(`onInitialClientRender`)
167 |
168 | // Render query on demand overlay
View compiled
我猜这个问题与 Node 及其依赖项有关。存储库不是 official Gatsby starter and the last commit dates from 3 years ago. Gatsby is now on version 4.14
while the starter is on ^2.0.50
。过去 3 年仅在 Gatsby 中发生了两个主要版本,所以想象一下其余的依赖项。
启动器不包含 .nvmrc
文件或 package.json
中的 engine
属性,因此运行该项目的节点版本未知。请注意,如果您克隆或分叉该项目,您将有很多已弃用的依赖项,并且您将需要进行多次迁移 (from v2 to v3 and from v3 to v4)。
所以我的建议是拒绝该存储库并使用其中一位官员。如果这不是一个选项,请尝试使用 Node 版本,从 12 开始,每次升级或降级版本时重新安装 node_modules
。
我最近发现了 Gatsby,我想将这个模板用于我自己的网站: https://github.com/toboko/gatsby-starter-fine
下载时,设法 运行 它 http://localhost:8000/ 但我得到这个错误,我可以逃避:
TypeError: strings.slice(...).reduce 不是函数
我在这里添加了我的存储库,所以你也可以看看:https://github.com/melariza/gatsby-starter-fine
你能看一下并帮助修复吗?
错误截图: enter image description here
这是错误文本:
TypeError: strings.slice(...).reduce is not a function
css
/Users/mga/Sites/gatsby-starter-fine/.cache/loading-indicator/style.js:5
2 |
3 | function css(strings, ...keys) {
4 | const lastIndex = strings.length - 1
> 5 | return (
6 | strings.slice(0, lastIndex).reduce((p, s, i) => p + s + keys[i], ``) +
7 | strings[lastIndex]
8 | )
View compiled
Style
/Users/mga/Sites/gatsby-starter-fine/.cache/loading-indicator/style.js:14
11 | const Style = () => (
12 | <style
13 | dangerouslySetInnerHTML={{
> 14 | __html: css`
15 | :host {
16 | --purple-60: #663399;
17 | --gatsby: var(--purple-60);
View compiled
▶ 18 stack frames were collapsed.
(anonymous function)
/Users/mga/Sites/gatsby-starter-fine/.cache/app.js:165
162 | dismissLoadingIndicator()
163 | }
164 |
> 165 | renderer(<Root />, rootElement, () => {
166 | apiRunner(`onInitialClientRender`)
167 |
168 | // Render query on demand overlay
View compiled
我猜这个问题与 Node 及其依赖项有关。存储库不是 official Gatsby starter and the last commit dates from 3 years ago. Gatsby is now on version 4.14
while the starter is on ^2.0.50
。过去 3 年仅在 Gatsby 中发生了两个主要版本,所以想象一下其余的依赖项。
启动器不包含 .nvmrc
文件或 package.json
中的 engine
属性,因此运行该项目的节点版本未知。请注意,如果您克隆或分叉该项目,您将有很多已弃用的依赖项,并且您将需要进行多次迁移 (from v2 to v3 and from v3 to v4)。
所以我的建议是拒绝该存储库并使用其中一位官员。如果这不是一个选项,请尝试使用 Node 版本,从 12 开始,每次升级或降级版本时重新安装 node_modules
。