【问题标题】:Webpack not creating the HTML file it used to createWebpack 没有创建它用来创建的 HTML 文件
【发布时间】:2019-01-14 21:12:52
【问题描述】:

我正在构建一个 nodejs 应用程序(typescript、react、webpack)并且构建工作正常。 IE。我得到了我所期望的输出。一个 HTML 文件,包含我期望的捆绑文件。

突然之间,在我的代码没有任何改变的情况下,webpack 只生成了一个 bundle javascript 文件(像往常一样),但 HTML 文件消失了,即它不再生成。 这是我的 webpack 配置文件:

const path = require('path');

const config = {
  mode: "production",
  entry: path.resolve(__dirname, "../src/index.tsx"),
  resolve: {
    extensions: ['.tsx', '.js']
  },
  output: {
    // options related to how webpack emits results
    path: path.resolve(__dirname, "../dist"),
    filename: "bundle.js"
  },
  module: {
    rules: [
      {
        test: /.tsx$|.js$/, 
        loader: "ts-loader" ,
        include: path.resolve(__dirname, "../src")
      },
    ]
  }
}

module.exports = config;

任何线索为什么不再生成我的 HTML 文件以及如何恢复它?谢谢!

【问题讨论】:

  • Webpack 配置没问题。至少给我们任何方法来重现您的问题。
  • 如果在输出中添加文件名属性会怎样?像这样 `filename: ".js".
  • @rach8garg 没有区别。仍然没有生成 HTML 文件。
  • 你的 webpack 版本是多少?

标签: node.js typescript npm webpack


【解决方案1】:

据我所知,Webpack 默认输出main.js,如果你没有像这段代码那样指定输出文件名配置。试试这个代码:

const path = require('path');

const config = {
  entry: path.resolve(__dirname, "../src/index.tsx"),
  resolve: {
    extensions: ['.tsx', '.js']
  },
  output: {
    // options related to how webpack emits results
    path: path.resolve(__dirname, "../dist"),
    filename: 'my-first-webpack.bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.tsx$/, 
        loader: "ts-loader" ,
        include: path.resolve(__dirname, "../src")
      },
    ]
  }
}

module.exports = config;

【讨论】:

  • 我的意思是,问题是HTML在哪里!?即 .html 文件
  • 嗨 Jose,您是否在 webpack 配置文件中指定了输出文件名?
  • @Sedar 是的,它已被指定。
【解决方案2】:

因此实际上从未创建过 HTML。所以这个问题已经过时了。

我很困惑,因为之前输出中曾经有一个 HTML。但它不是由 webpack 生成的(它来自 Typescript 脚本)

【讨论】:

    猜你喜欢
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2016-02-06
    • 2020-10-14
    • 2016-11-15
    • 2018-08-18
    • 1970-01-01
    相关资源
    最近更新 更多