在Next.Js中导出静态html文件,html中的href和src目录不会转到"_next"文件夹中。如果我手动添加…/…/在index.html中,那么它工作正常。JS文件也一样。
在导出之前,知道在哪里预先配置它吗?
谢谢!
p。我有一个webpack配置。
const config = {
mode: isProd ? "production" : "development",
entry: {
index: "./src/index.tsx"
},
output: {
path: `${__dirname}/dist`,
publicPath: '/',
filename: "[name].js"
},
resolve: {
extensions: [".js", ".jsx", ".ts", ".tsx"],
alias: resolveTsAliases(__dirname + "/tsconfig.json")
},
module: {
rules: [
{
test: /.tsx?$/,
use: "babel-loader",
exclude: /node_modules/
},
{
test: /.s[ac]ss$/i,
use: ["style-loader", "css-loader", "sass-loader"]
},
{
test: /.(jpg|png)$/,
use: {
loader: "url-loader",
options: {
limit: 25000
}
}
},
{
test: /.svg$/,
use: "file-loader"
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: "src/index.html"
}),
new webpack.DefinePlugin({
"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV)
})
]
};
我发现了另一个堆栈溢出线程,但他们也手动设置了他们的目录,但我需要它工作,因为有很多文件被导出。
试着研究文档,无法找到为导出文件预配置CSS/JS路径的可能性。
问题是它需要在一个实时服务器上运行,所以如果你托管了"/out"文件夹中所有需要的文件,并运行一个活动服务器修复这个问题。
自己打开index.html将无法识别CSS和jess文件,所以只需在服务器上运行。
Test on rush .sh easy as 123.
您必须将此添加到next.config.js
module.exports = {
assetPrefix: "."
}
希望对你有帮助
添加
模块。出口= {basePath:"。/子文件夹",}
这将修复它!如果你需要在子文件夹中导航,而你的css/js不起作用,这就是你在next.config.js中缺少的内容。