Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何配置Nextjs项目以传输monorepo项目?_Javascript_Reactjs_Webpack_Next.js - Fatal编程技术网

Javascript 如何配置Nextjs项目以传输monorepo项目?

Javascript 如何配置Nextjs项目以传输monorepo项目?,javascript,reactjs,webpack,next.js,Javascript,Reactjs,Webpack,Next.js,我使用的monorepo本身就是一个完整的Nextjs应用程序 对于我正在寻找的用例 一些以前的项目 是从git安装的package.json中定义的包。我只需要从中导入实用程序函数和组件。该项目是在es6中完成的,因此执行时需要传输。我需要从这个包中导入的每个组件或函数都要传输 我当前使用的配置是: const withTM = require('next-transpile-modules')(['some_previous_project']); const withPlugins =

我使用的monorepo本身就是一个完整的Nextjs应用程序

对于我正在寻找的用例

一些以前的项目

是从git安装的package.json中定义的包。我只需要从中导入实用程序函数和组件。该项目是在es6中完成的,因此执行时需要传输。我需要从这个包中导入的每个组件或函数都要传输

我当前使用的配置是:

const withTM = require('next-transpile-modules')(['some_previous_project']);

const withPlugins = require('next-compose-plugins');

const nextConfig = {
  target: 'serverless',
  webpack(config) {
    return config;
  },
};

module.exports = withPlugins([withTM], nextConfig);
这会引发以下错误:

C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project>npm run dev

> trendline-frontend@0.1.0 dev C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project
> next dev

Error: next-transpile-modules - an unexpected error happened when trying to resolve "some_previous_project"
Error: Can't resolve 'some_previous_project' in 'C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project'
    at getPackageRootDirectory (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-transpile-modules\src\next-transpile-modules.js:70:11)
    at Array.map (<anonymous>)
    at generateModulesPaths (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-transpile-modules\src\next-transpile-modules.js:81:33)
    at withTM (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-transpile-modules\src\next-transpile-modules.js:110:26)
    at C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-compose-plugins\lib\compose.js:100:23
    at Array.forEach (<anonymous>)
    at composePlugins (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-compose-plugins\lib\compose.js:77:11)
    at C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next-compose-plugins\lib\index.js:22:38
    at normalizeConfig (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next\dist\next-server\server\config.js:7:494)
    at loadConfig (C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current_project\node_modules\next\dist\next-server\server\config.js:8:131)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! current_project@0.1.0 dev: `next dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the current_project@0.1.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\prajwaldankit\AppData\Roaming\npm-cache\_logs\2020-12-11T06_38_48_407Z-debug.log
C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project>npm运行开发
>趋势线-frontend@0.1.0dev C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u项目
>下一个开发
错误:下一个传输模块-尝试解析“某个上一个项目”时发生意外错误
错误:无法解析“C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project”中的“某些以前的\u项目”
在getPackageRootDirectory(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next Transfile modules\src\next Transfile modules.js:70:11)
在Array.map()处
生成模块时(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\U project\node\U modules\next Transfile modules\src\next Transfile modules.js:81:33)
在withTM(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next transfile modules\src\next transfile modules.js:110:26)
在C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next compose plugins\lib\compose.js:100:23
在Array.forEach()处
在composePlugins(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next compose plugins\lib\compose.js:77:11)
在C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next compose plugins\lib\index.js:22:38
在normalizeConfig(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next\dist\next server\server\config.js:7:494)
在loadConfig(C:\Users\prajwaldankit\Desktop\truemark\ecom-078\current\u project\node\u modules\next\dist\next server\server\config.js:8:131)
npm错误!代码失效循环
npm错误!错误1
npm错误!当前_project@0.1.0德夫:`下一个德夫`
npm错误!退出状态1
npm错误!
npm错误!在当前位置失败_project@0.1.0开发脚本。
npm错误!这可能不是npm的问题。上面可能还有其他日志输出。
npm错误!此运行的完整日志可在以下位置找到:
npm错误!C:\Users\prajwaldankit\AppData\Roaming\npm缓存\\u日志\2020-12-11T06\u 38\u 48\u 407Z-debug.log

您的monorepo设置错误,正如错误消息中所述。如果你想在NextJS和monorepo中使用
next Transfile模块
,你需要确保你的monorepo设置正确,如果你在使用
npm
或者
纱线工作区
如果你在使用
纱线
,你可以使用Lerna

一旦设置正确,您需要将您的包
“main”
指向您的
上一个项目的源,以便TM拾取它们。另一种方法是设置它,以便您的另一个项目在每次更改时创建ES5构建,但这会很快占用您的CPU。另一个选项是在下一个项目的配置中为每个monorepo模块创建一个网页包别名,以解析导入到
src
(或您的源代码所在的任何地方),这就是我为下一个项目所做的,下一个项目是开发环境,包也必须能够单独部署

然而,要解决您的问题,您首先需要使您的包得以解决,这意味着您需要正确设置monorepo