如何使用 babel/register 忽略非 js 文件
How to ignore non-js files with babel/register
当我的 Node 应用程序包含来自我的应用程序的路由时,我想忽略非 js 文件,例如
import './scss/App.scss' // i.e via Router.js -> Routes.js -> App.js
目前 Node 显然抛出了一个解析错误,因为它试图将 scss 解析为 js。 babel 钩子目前看起来像这样:
require('babel/register')({
stage: 0
});
有什么办法可以让 babel 忽略它们吗?谢谢
原来是节点需要调整:
require.extensions['.scss'] = () => {};
您可以创建 .babelrc
文件并设置 ignore
规则:
{
"stage": 0,
"ignore": [
"*.scss"
]
}
您可以在此处阅读更多相关信息 - https://babeljs.io/docs/usage/babelrc/
您可以使用 babel-plugin-transform-import-ignore 忽略匹配的导入。所有匹配的导入语句将在编译后被删除。
{
plugins: [
[
"babel-plugin-transform-import-ignore",
{
patterns: [".scss"]
}
]
]
}
当我的 Node 应用程序包含来自我的应用程序的路由时,我想忽略非 js 文件,例如
import './scss/App.scss' // i.e via Router.js -> Routes.js -> App.js
目前 Node 显然抛出了一个解析错误,因为它试图将 scss 解析为 js。 babel 钩子目前看起来像这样:
require('babel/register')({
stage: 0
});
有什么办法可以让 babel 忽略它们吗?谢谢
原来是节点需要调整:
require.extensions['.scss'] = () => {};
您可以创建 .babelrc
文件并设置 ignore
规则:
{
"stage": 0,
"ignore": [
"*.scss"
]
}
您可以在此处阅读更多相关信息 - https://babeljs.io/docs/usage/babelrc/
您可以使用 babel-plugin-transform-import-ignore 忽略匹配的导入。所有匹配的导入语句将在编译后被删除。
{
plugins: [
[
"babel-plugin-transform-import-ignore",
{
patterns: [".scss"]
}
]
]
}