[英]NPM - How to use local component file as package
我有一个用React
和react-router-dom
构建的大项目,几天前我开始使用NextJS
,我发现 NextJS 没有react-router-dom
一些功能,所以我写了一个组件文件来做缺少的功能将它与 NextJS 结合起来
这是文件
import { useRouter } from 'next/router'
import Link from 'next/link'
const NavLink = ({ children, activeClassName, ...props }) => {
const { asPath } = useRouter()
const childClassName = props.className || ''
// pages/index.js will be matched via props.href
// pages/about.js will be matched via props.href
// pages/[slug].js will be matched via props.as
const { to, ...rest } = props;
const className = asPath === props.to ? `${childClassName} ${activeClassName}`.trim() : childClassName
return (
<Link {...rest} href={to} passHref={true} className={className}><a>
{children}
</a></Link>
)
}
export default NavLink
我想知道,如何将此文件用作 package 以便避免在本地导入它。
我有很多嵌套组件,这样做真的很浪费时间
有没有办法像这样使用这个文件
import NavLink fron 'my-navlink';
代替
import NavLink fron '../.../components/public/ns/navlink.js';
谢谢
您可以使用 模块路径别名:
只需创建一个 tsconfig.json 或 jsconfig.json 文件:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@my-navlink": ["components/public/ns/navlink.js"]
}
}
}
然后在您的页面/组件中的任何位置都可以导入它:
import NavLink fron '@my-navlink';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.