我正在用打字稿编写的React项目上实现服务器端渲染。所有组件,容器和其他目录都位于src
目录中。
当react从./src/providers/xxProvider.ts
导入文件时,它可以简单地以import * from "providers/xxProvider"
的形式导入。我猜这是捆绑时由webpack完成的操作。
但是现在,当我尝试将Node.js用于ssr时,node.js在导入为import * from "providers/xxProvider"
时无法找到xxProvider文件,因为它开始在node_modules中查找。
如何解决此问题?
答案 0 :(得分:0)
您可能没有在tsconfig.json
中定义正确的path mapping。尝试以下示例:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"*": [
"*",
"src/*"
]
}
}
}
答案 1 :(得分:0)
我找到了答案。问题出在使用webpack-node-externals
插件。当我们使用它时,捆绑时webpack会自动忽略node-modules文件夹。
当我将某些内容导入为import * from providers/xxProvider
时,同时在node_modules中有一个名为provider / xxx的目录,捆绑时webpack将排除所有名为providers
的目录。