Javascript Nested package.json在Nuxt项目中,如何让babel等在嵌套包中工作

Javascript Nested package.json在Nuxt项目中,如何让babel等在嵌套包中工作,javascript,nuxt.js,babeljs,Javascript,Nuxt.js,Babeljs,我试图将嵌套的package.json文件添加到我的项目中,以便为模块提供单独的服务器和客户端实现,但这破坏了babel的理解。我不知道如何将原始Nuxt构建配置应用于该模块 在我的应用程序中,我的插件大致如下: //实现`processData'所需的仅节点虚拟导入` 从“fs”导入fs; 导出默认类MyPlugin{ 静态类型_NAME='MyPlugin'; 静态validateConfig(配置){} 构造函数(配置){} 验证数据(数据){} 异步进程数据(数据){} } 验证没有在

我试图将嵌套的package.json文件添加到我的项目中,以便为模块提供单独的服务器和客户端实现,但这破坏了babel的理解。我不知道如何将原始Nuxt构建配置应用于该模块

在我的应用程序中,我的插件大致如下:

//实现`processData'所需的仅节点虚拟导入`
从“fs”导入fs;
导出默认类MyPlugin{
静态类型_NAME='MyPlugin';
静态validateConfig(配置){}
构造函数(配置){}
验证数据(数据){}
异步进程数据(数据){}
}
验证没有在构造函数中完成,因为配置和类型名存储在数据库中,插件稍后实例化,所以设置配置的时间和我们需要实例的时间相差很远。数据也是如此
processData
也是这里唯一应该与外部世界对话的东西,因此它是异步的。我们还假设这取决于一些仅节点的API,如
fs

现在,我也希望能够在客户机上进行验证,因此我需要将
processData
问题分离出来。但我想仍然能够引用插件,因为它是。此时的基线行为与预期的一样:从前端模块导入此模块会导致生成失败,因为未找到
fs
,删除仅节点代码会使其成功

我认为嵌套的
package.json
为服务器和客户端声明单独的入口点会有所帮助,如下所示:

{
“名称”:“我的插件”,
“版本”:“0.0.0”,
“私人”:没错,
“main”:“/index.server.js”,
“浏览器”:“/index.client.js”
}
。。。但是,这会以新的方式破坏构建:

SyntaxError: /.../index.server.js: Support for the experimental syntax 'classProperties' isn't currently enabled
即使我删除了类属性

/.../index.server.js:1
SyntaxError: Cannot use import statement outside a module

我知道这意味着什么,但配置JS构建系统不是我的强项。这些是(希望是)所有非标准的相关配置:

.babelrc
:不仅在测试环境中使用,还添加了类属性语法

{
“预设”:[
[
“@babel/preset env”,
{
“目标”:{
“节点”:“当前”
}
}
]
],
“插件”:[
“@babel/插件建议类属性”
]
}
package.json
:使用
babel节点
来运行服务器(当然还有很多依赖项)(我知道,
babel节点
并不意味着要运行生产版本)

{
...
“脚本”:{
“dev”:“cross env NODE_env=development nodemon--exec babel NODE server/index.js--watch server”,
“构建”:“nuxt构建”,
“开始”:“交叉环境节点_env=production babel NODE server/index.js”,
...
},
“依赖性”:{
“@babel/node”:“^7.10.5”,
“@babel/plugin提案类属性”:“^7.10.4”,
...
}
}
numxt.config.js
:使用core.js3

module.exports={
模式:“通用”,
...
插件:[
],
构建模块:[
“@nuxtjs/vuetify”,
],
模块:[
// https://axios.nuxtjs.org/
“@nuxtjs/axios”,
],
...
建造:{
扩展(配置,ctx){
},
巴别塔:{
//envName:服务器、客户端、现代
预设({envName}){
返回[
[
“@nuxt/babel预设应用程序”,
{
corejs:{version:3},
},
],
];
},
},
},
};

我试图添加到我的nuxt配置中,并将我的
.babelrc
复制到嵌套包中,但没有成功

你知道我该怎么做吗?或者,我可以做什么来代替添加这个package.json