首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用webpack从pug模板中输出html文件?

如何用webpack从pug模板中输出html文件?
EN

Stack Overflow用户
提问于 2017-06-28 10:11:36
回答 2查看 4.4K关注 0票数 6

我正在尝试从我的webpack项目中的pug模板输出单独的html文件。我遇到的问题是让pug-loader将html呈现到文件中。

我的webpack.config:

代码语言:javascript
复制
const path = require('path');
const glob = require('glob');
const webpack = require('webpack');

const src = path.resolve(__dirname, 'src');
const dist = path.resolve(__dirname, 'dist');

module.exports = {
  context: src,

  entry: {
    pug: glob.sync('./**/*.pug', {
      cwd: src
    }),
    index: path.resolve(src, 'index.js')
  },

  output: {
    path: dist,
    filename: '[name].js'
  },

  module: {
    rules: [
      {
        test: /\.js$/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['es2015'].map(dep =>
              require.resolve(`babel-preset-${dep}`)
            ) // Fix for lerna symlinked deps
          }
        }
      },
      {
        test: /\.pug$/,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[path][name].html'
            }
          },
          'extract-loader',
          'html-loader',
          'apply-loader',
          'pug-loader'
        ]
      }
    ]
  }
};

这将正确地为我的项目中的每个pug模板生成文件,但这些文件不包含html。相反,每个文件看起来像这样:

代码语言:javascript
复制
var req = require("!!<absolute-path-to-project>/node_modules/pug-loader/index.js!<absolute-path-to-pug-file>/index.pug");
module.exports = (req['default'] || req).apply(req, [])

我安装的依赖项版本:

代码语言:javascript
复制
{
  "apply-loader": "^2.0.0",
  "babel-core": "^6.25.0",
  "babel-loader": "^7.1.0",
  "babel-preset-es2015": "^6.24.1",
  "extract-loader": "^0.1.0",
  "file-loader": "^0.11.1",
  "glob": "^7.1.2",
  "html-loader": "^0.4.5",
  "pug-loader": "^2.3.0",
  "webpack": "^3.0.0"
}
EN

回答 2

Stack Overflow用户

发布于 2017-07-06 18:20:55

尝试使用pug-html-loader而不是pug-loader。

下面是一个示例:

代码语言:javascript
复制
{
    test: /\.pug$/,
    use: [
      "file-loader?name=[path][name].html",
      "extract-loader",
      "html-loader",
      "pug-html-loader"
    ]
  }
票数 9
EN

Stack Overflow用户

发布于 2021-02-24 03:36:24

这个问题很老了,但是你需要删除规则中的“html-loader”才能工作

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44792582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档