【问题标题】:Why does webpack try to parse my readme.md files为什么 webpack 会尝试解析我的 readme.md 文件
【发布时间】:2017-10-23 05:51:18
【问题描述】:

Webpack 抛出如下所示的错误。构建似乎仍然有效,但给出了什么?

./{snip}/readme.md 中的警告 模块解析失败:C:{snip}\readme.md 意外令牌 (1:7) 您可能需要适当的加载程序来处理此文件类型。

我找不到任何忽略文件的方法。我什至不知道它为什么要渲染这些文件。

这是我的 webpack 设置文件的一些部分:

module: {
    loaders: [
        {test: /\.hb.html$/, loader: "handlebars-loader/?helperDirs[]=" + __dirname + "/src/handlebarsHelpers"},
        { test: /\.tsx?$/, loader: "ts-loader?" + JSON.stringify({
            transpileOnly: true
        })}
    ]
},

条目:

entry: "./src/entry.ts",

resolve: {
    extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"],

我尝试在 typescript 配置文件中排除 .md 文件,也没有用。

【问题讨论】:

  • 和extensions中的空扩展名有关系吗?我尝试删除它,但它不会加载我的入口模块。
  • 您没有 *.md 文件的加载器。 Webpack 将所有文件解释为 JavaScript,Markdown 不是 JavaScript。也许对 md 文件使用“原始加载器”?
  • @Wazner 但我根本不想加载它们。
  • 您的代码中是否有“import 'readme.md'”文件?
  • 答案中有一个查询表达式,导致 webpack 加载所有内容。

标签: javascript typescript webpack


【解决方案1】:

问题不在于设置,而在于我的代码有这样的查询表达式:

exports.getModule = function (moduleName) {
    var mod = require('./' + moduleName + '');
    return mod;
};

这使得 webpack 尝试加载所有文件,而不仅仅是入口点依赖树上的文件。

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 2017-01-12
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 2017-09-06
    • 2023-02-17
    相关资源
    最近更新 更多