1

我的任务是将 ReactJS 应用程序中的“react-scripts”2.1.1 更新为更新的内容。我做了什么:1。

  • 克隆干净的项目
  • 更新“反应脚本”:“2.1.1”->“2.1.8”
  • npm 安装
  • npm 开始

我面临的第一个问题:

frontend@2.0.0 开始 C:\projects\reactjs-superapp react-app-rewired start

内部/模块/cjs/loader.js:797 抛出错误;^

Error: Cannot find module 'C:\projects\reactjs-superapp\node_modules\react-scripts/config/webpack.config.dev'
Require stack:
C:\projects\reactjs-superapp\node_modules\react-app-rewired\scripts\start.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\projects\reactjs-superapp\node_modules\react-app-rewired\scripts\start.js:9:23)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\projects\\reactjs-superapp\\node_modules\\react-app-rewired\\scripts\\start.js'
  ]
}

module.exports = override(
    fixBabelImports("import", {
        libraryName: "antd", libraryDirectory: "es", style: true // change importing css to less
    }),
    addLessLoader({
        javascriptEnabled: true
    })
);
  • 添加了“customize-cra”:“^1.0.0”、“postcss-normalize”:“^9.0.0”、“resolve-url-loader”:“^3.1.2”
  • npm 安装
  • npm 开始

现在开始出现编译错误 ./src/config/config.scss (./node_modules/css-loader??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss !./node_modules/sass-loader/lib/loader.js??ref--6-oneOf-5-3!./src/config/config.scss) @import "~importConfigPath"; ^ 找不到或无法读取要导入的文件:~importConfigPath。在 C:\projects\reactjs-superapp\src\config\config.scss (第 2 行,第 1 列)

这可能是预期的。这 ~importConfigPath 之前在 module.exports 函数中定义如下

 config.resolve = {
     modules: ['src', 'node_modules'],
     extensions: ['.js', '.jsx'],
     alias: {
         ...config.resolve.alias,
         "importConfigPath": path.join(__dirname, 'src/view/styles/templates/' + findPara("THEME", "1") + '.scss'),
         "importVariablesPath": path.join(__dirname, 'src/view/styles/templates/' + findPara("THEME", "1") + "/colors.scss"),
     }
 };

现在必须在这个新结构中定义它。这就是我现在迷路的地方。怎么做?

4

0 回答 0