标签: react-scripts

从 Typescript 文件导入时,Javascript 代码在 react-scripts 构建中出现“尝试导入错误:”

react-scripts V2.1.3 出现错误。我们刚刚从 V1.x 迁移到这个。在 react-scripts 升级之前,这一切都运行良好。

源文件(metadataAccess,进行导出)是 typescript 并具有以下代码:

export const NAVIGATION = 'Navigation';
Run Code Online (Sandbox Code Playgroud)

引用 const 的文件是 Javascript,如下所示:

import { WIDGET_TREE, NAVIGATION, metadataScan } from './universal/metadataAccess';
...
const scanNavigation = await metadataScan(dynamoClient, NAVIGATION);
Run Code Online (Sandbox Code Playgroud)

错误是:

Creating an optimized production build...
Failed to compile.

./src/App.jsx
Attempted import error: 'NAVIGATION' is not exported from './universal/metadataAccess'.
Run Code Online (Sandbox Code Playgroud)

如果我要修复这个错误(上图),我会在另一个 const 上遇到同样的问题。可悲的是,一次报告一个错误。我也在导出的枚举中得到它。全部来自 Typescript 文件。我将引用文件的扩展名更改为 .tsx(来自 .jsx)并且没有区别。

我在 Typescript compile、webpack 和 babel 的源代码中搜索了字符串“Attempted import”,但没有找到任何东西,所以我什至不知道是哪个代码导致了这个错误。

我还尝试在导入语句的文件名中添加“.js”,并且(生成的)Javascript 文件包含以下行:

exports.NAVIGATION = 'Navigation';
Run Code Online (Sandbox Code Playgroud)

它得到相同的结果。我尝试将导入语句更改为引用不存在的文件,但出现不同的错误,因此它似乎正在查找导入的文件。

关于如何让它运行的任何想法?

javascript typescript reactjs react-scripts create-react-app

6
推荐指数
1
解决办法
1168
查看次数

Create-react-app 控制台显示块文件

我想调试 React 开发过程中发生的一些错误。如您所见,我看不到源文件。我正在使用 create-react-app 创建我的项目。我没有改变任何其他东西。这是由 webpack 引起的吗?它发生在 react-scripts start 命令中。谢谢你。 看不到源文件。

source-maps reactjs react-scripts create-react-app

6
推荐指数
0
解决办法
182
查看次数

React-scripts 构建到子目录中

我正在使用 create-react-app 并在我的项目上运行react-scripts build,但我在构建输出方面遇到了问题。我需要将构建输出放入构建文件夹的子目录中,如下所示

Build
-- Player 
Run Code Online (Sandbox Code Playgroud)

我需要为 JS 和 CSS 文件生成的 URL(如此处所示)以将 Player 包含在路径中。我需要这些。

<link href="/static/css/main.02096f02.css" rel="stylesheet">
<script type="text/javascript" src="/static/js/main.75412701.js"></script>
Run Code Online (Sandbox Code Playgroud)

成为这些

<link href="/player/static/css/main.02096f02.css" rel="stylesheet">
<script type="text/javascript" src="/player/static/js/main.75412701.js"></script>
Run Code Online (Sandbox Code Playgroud)

我需要它来自动化我的构建和部署。否则,默认脚本可以完美运行。

react-scripts create-react-app

5
推荐指数
2
解决办法
3256
查看次数

反应脚本构建“第 1 行解析错误”

我已经使用“create-react-app”创建了一个React应用程序,并且它通过“npm start”运行良好,但是,当我尝试构建或部署到Heroku时,我从react-scripts build.js中收到一个错误,日志如下:

-----> Build
       Running build

       > areaos-react@0.1.0 build /tmp/build_b6b622a1f46daa3af2d16fdb6ffb259a
       > react-scripts build

       Creating an optimized production build...
       Failed to compile.

       Parse error on line 1: 
       0.3(-1)
       ---^
       Expecting end of input, "ADD", "SUB", "MUL", "DIV", got unexpected "LPAREN"
Run Code Online (Sandbox Code Playgroud)

我尝试过: -更新npm模块,包括react-scripts -从package.json中删除“react-scripts build” -将package.json中的“main”更改为“react-scripts start”

这是我的 package.json

{
  "name": "doggos-react",
  "version": "0.1.0",
  "engines": {
    "node": "8.9.3",
    "npm": "6.9.0"
  },
  "private": true,
  "dependencies": {
    "caniuse-lite": "^1.0.30000989",
    "chart.js": "^2.8.0",
    "chartjs-plugin-labels": "^1.1.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "gl-react": "^3.17.2",
    "glsl-fxaa": "^3.0.0",
    "glslify": "^7.0.0", …
Run Code Online (Sandbox Code Playgroud)

heroku node.js reactjs react-scripts create-react-app

5
推荐指数
2
解决办法
5964
查看次数

反应脚本构建冻结在“创建优化构建”

我已将我的 CRA 项目升级为使用 React-scripts 3.2.0 当我运行时,npm run build我收到“正在创建优化的生产版本...”消息,但随后什么也没有发生,它就永远卡住了。

环境:

节点:v12.13.1

npm:6.12.1

项目详情:

typescript、scss 和 scss 模块

包.json

    "dependencies": {
        "@types/jest": "^24.0.11",
        "@types/node": "^11.13.4",
        "@types/react": "^16.8.13",
        "@types/react-dom": "16.8.4",
        "classnames": "^2.2.5",
        "mobx": "^3.6.2",
        "mobx-react": "^4.4.3",
        "node-sass": "^4.12.0",
        "react": "^16.8.6",
        "react-scripts": "^3.2.0",
    },
    "devDependencies": {
        "@typescript-eslint/eslint-plugin": "^2.6.1",
        "@typescript-eslint/parser": "^2.6.1",
        "babel-plugin-transform-decorators-legacy": "^1.3.4",
        "enzyme": "^3.7.0",
        "enzyme-adapter-react-16": "^1.6.0",
        "husky": "^3.0.9",
        "lint-staged": "^9.4.2",
        "prettier": "^1.19.1",
        "typescript": "^3.2.4"
    },

Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
    "compilerOptions": {
        "outDir": "build/dist",
        "module": "esnext",
        "target": "es5",
        "lib": ["es2016", "dom"],
        "sourceMap": true,
        "allowJs": true, …
Run Code Online (Sandbox Code Playgroud)

react-scripts create-react-app

5
推荐指数
1
解决办法
7733
查看次数

create-react-app如何在构建过程中将特定的.ts文件编译为.js文件?

目前,$ npm run build将文件编译为src//build一切正常。但是,有一些特定的 TypeScript 文件,src/integer.ts我想将其编译为其自己的 JavaScript 文件,build/integer.js并且所有其他文件都将“正常”编译。

这是项目结构:

/src
/build
Run Code Online (Sandbox Code Playgroud)

这是package.json文件:

"dependencies": {
    "react-scripts": "3.4.1",
}
...
"scripts": {
     "build": "react-scripts build",
}
Run Code Online (Sandbox Code Playgroud)

typescript reactjs webpack react-scripts create-react-app

5
推荐指数
1
解决办法
794
查看次数

5
推荐指数
1
解决办法
9929
查看次数

为不同的组件加载不同的JS库文件

我有一个用 ReactJS 制作的网站。在 中public/index.html,我有

<head>
  <script src="/lib/analyzejs-v1.js"></script>
  <script src="/lib/analyzejs-v2.js"></script>
</head>
<body>
  <div id="root"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

其中analyzejs-v1.js有 6Mo,并且analyzejs-v2.js有 3Mo;它们都是固定文件,我无法对其进行太多修改。

这两个文件不是模块;它们的功能已声明(例如,declare function f1(address: string): string;在 中src/defines/analyzejs-v1.d.ts)。analyzejs-v1.js因此,某些组件通过使用函数名称直接调用函数f1(...),无需任何命名空间、导入或导出。其余组件analyzejs-v2.js通过使用函数名称f2(...)直接调用函数,无需任何命名空间、导入或导出。

加载这两个js库文件需要时间。所以我正在寻找一种方法来加载analyzejs-v1.jsanalyzejs-v2.js根据组件(或 URL)。

那么有谁知道为不同组件加载不同JS库文件的常规方法吗?

script-tag hamlet reactjs webpack react-scripts

5
推荐指数
1
解决办法
763
查看次数

如何在反应中将 localhost:3000 更改为 custom.domain

 "scripts": {
    "start": "cross-env NODE_PATH=src react-scripts start",
    "build": "cross-env NODE_PATH=src react-scripts build",
  }
Run Code Online (Sandbox Code Playgroud)

如何在反应中将 localhost:3000 更改为 custom.domain

javascript frontend cross-domain reactjs react-scripts

5
推荐指数
2
解决办法
2万
查看次数

类型错误:无法加载在“.eslintrc”中声明的插件“jest”:类扩展值未定义不是构造函数或 null

我正在将反应脚本更新到最新版本,即 5.0.0,并开始看到上述错误。一篇文章建议将@typescript-eslint升级到版本^5.0.0,以便与eslint版本^8.3.0兼容,默认情况下通过将react-scripts更新到5.0.0来实现,我这样做了,但错误仍然存​​在。请提供帮助,因为这是一个关键问题,因为构建失败。

npm reactjs eslint babel-jest react-scripts

5
推荐指数
1
解决办法
7248
查看次数