Javascript 如何强制巴贝尔忽略语法而不忽略文件?
我正在尝试使用babel将我的文件复制到一个lib文件夹中(因此稍后我将它们用作其他项目的共享组件)。我不希望babel传输React代码,因为我将在我的主要项目中这样做。但我确实希望babel在复制文件时将绝对路径更改为相对路径。没有别的了 我想从巴别塔那里得到的一切都是为了转化:Javascript 如何强制巴贝尔忽略语法而不忽略文件?,javascript,reactjs,babeljs,next.js,Javascript,Reactjs,Babeljs,Next.js,我正在尝试使用babel将我的文件复制到一个lib文件夹中(因此稍后我将它们用作其他项目的共享组件)。我不希望babel传输React代码,因为我将在我的主要项目中这样做。但我确实希望babel在复制文件时将绝对路径更改为相对路径。没有别的了 我想从巴别塔那里得到的一切都是为了转化: import Temp from 'components/Temp'; 到 我的项目没有任何网页,实际上不需要。它只有故事书和一堆组件 这是我的。巴别塔LRC: { "comments":
import Temp from 'components/Temp';
到
我的项目没有任何网页,实际上不需要。它只有故事书和一堆组件
这是我的。巴别塔LRC:
{
"comments": true,
"compact": false,
"plugins": [
[
"module-resolver",
{
"root": ["."],
"alias": {
"components": "./src/components",
"pages": "./src/pages",
"shared": "./src/shared",
"mocks": "./src/mocks"
},
"cwd": "babelrc"
}
]
]
}
这是我的package.json构建脚本:
"build": "babel src --out-dir lib --ignore README.md,src/.next,**/*.stories.js --copy-files",
当某些文件的复制发生在某个点时,由于以下语法错误等不同错误而停止:
"Support for the experimental syntax 'classProperties' isn't currently enabled"
我希望babel忽略它在文件中看到的任何内容,只需更改导入文件地址。我不想包括像“@babel/plugin语法类属性”这样的插件。每个文件中都有JSX和很多其他东西,我不想巴贝尔碰它们
这是一种迫使巴贝尔对语法错误视而不见,只使用“模块解析器”插件的方法吗
我的巴别塔版本是7
谢谢 为什么您的React文件首先包含绝对路径?这应该只是一个简单的文件拷贝,而不是babel?使用绝对路径进行导入是什么意思?你用webpack给你的模块位置加了别名吗?我只想巴贝尔把这个:import Temp从'components/Temp'转换成这个:import'./src/components/Temp“@Mike'Pomax'kamermansis如果你有这种非标准的文件结构,你需要自己做。只需将文件传递给过滤器并执行搜索和替换(在进入Babel之前)。这就是为什么大多数前端设置很少只使用babel和webpack或rollup这类工具来帮助执行额外任务的原因?ES模块导入已经相对于模块本身,为什么在复制文件时必须更改任何内容?您有一个权威的源代码树,然后您有捆绑/打包代码的dist等dirs。为什么您需要复制常规代码,尤其是如果复制现在需要指向不同的目录,以便其自身的导入工作?你到底在做什么,让你觉得这是一个好的解决方案?因为这几乎肯定是一个XY问题。。。
"Support for the experimental syntax 'classProperties' isn't currently enabled"