reactjs - Next.Js导出的静态HTML文件找不到CSS和JS文件,设置了错误的路径

标签 reactjs webpack next.js babeljs

在Next.Js上导出静态html文件,HTML上的href和src目录不会转到“_next”文件夹。如果我通过在index.html中添加../../来手动设置它,那么它就可以正常工作。 JS 文件也是如此。

知道在导出之前在哪里预先配置它。

谢谢!

P.s 我有一个 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文件,所以只需在服务器上运行。

在 Surge.sh 上进行测试就像 123 一样简单。

关于reactjs - Next.Js导出的静态HTML文件找不到CSS和JS文件,设置了错误的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74372707/

相关文章:

reactjs - React Redux 工具包 - 输入字段的状态管理

webpack - 如何使用 Webpack 的 `raw-loader` 加载二进制文件?

node.js - Git Bash 和 webpack

javascript - 如何修复 Gulp 生成的文件太大

javascript - 使用 NextJS 的自托管字体

next.js - 是否可以测试 Next.js 13 API 路由处理程序?

javascript - Apollo-client _mutation 输入类型 - 提供的数据为空

meteor - 使用 React 在 Meteor 中 createContainer 是做什么的?

javascript - 在 React Router 中,我无法更改 View ,但只有 url 正在更改

next.js - 使用 Next.js 进行 masonry 布局