【问题标题】:npm start fails with unexpected token in file from local dependencynpm start 失败,来自本地依赖项的文件中有意外令牌
【发布时间】:2020-02-28 23:42:08
【问题描述】:

我用create-react-app 制作了first-app,其中一个组件使用了一些material-ui 组件,并且在以npm start 启动时工作正常。

从这个应用程序中,我将 nice-component 组件提取到一个新的 nice-component 文件夹中,该组件及其 package.json 位于 .js 文件中,export default 是组件类- 在 Visual Studio Code 中,我可以成功导航到它的源代码,所以我猜设置/文件夹配置是正确的。

final-app 应用程序中,一个新的应用程序仍然使用 create-react-app 我添加了 nice-component 作为本地依赖项 (file:../nice-component),但是当我运行npm start 我得到:

SyntaxError: C:\...\other-package.js: Unexpected token (83:8)

  81 |       const { classes } = this.props;
  82 |       return (
> 83 |         <Grid container className={classes.root} style={{margin:30}}>
     |         ^

我无法弄清楚为什么会发生这种情况,似乎本地依赖项不会引入它们自己的(传递)依赖项,但几个月前我在另一个项目中成功使用了类似的方法 - 虽然我没有使用 react-scripts ,但是自己设置babel、webpack等。

我什至尝试在 final-app 中添加所有 material-ui 依赖项(虽然我认为我不应该这样做),但它不起作用。

【问题讨论】:

    标签: javascript npm dependencies react-scripts


    【解决方案1】:

    Unexpected token '

    你可以简单地使用 node 安装 babel 依赖,如下所示

    npm install babel-preset-react

    谢谢

    【讨论】:

    • 嘿!那行得通!你能分享更多的解释吗? IE。当组件是当前应用程序的一部分时,npm start 使用本地 dep 中的组件失败,而工作在哪里?
    • 很抱歉,但是在我进行的所有测试中,我没有注意到我已将组件本地复制到_final-app_。我清理了它并使用本地依赖项中的组件返回:我得到了同样的错误
    • 我已经通过关注this guide on creating a library of react components 获得了一些东西;基本上,组件代码必须使用 babel 手动/显式转译才能在其他应用程序中使用。
    • 你很接近,尽管问题出在另一个包(本地依赖项);在被用作依赖项之前,它需要被 babel-transpiled。我错误地期望npm start 这样做。
    猜你喜欢
    • 2014-08-08
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2019-03-02
    • 2019-02-17
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多