微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取文件加载器以在Markdown内插到由Webpack 4捆绑的哈巴狗模板中的本地图像上触发?

如何解决如何获取文件加载器以在Markdown内插到由Webpack 4捆绑的哈巴狗模板中的本地图像上触发?

首先让我分解项目设置/我要做的事情:

文件结构:

  • index.md
  • index.pug
  • image.jpg

在我的markdown文件中,嵌入了一张图片

Here is a local image (we want webpack's file loader to get triggered on it,and replace the local path with a bundled resource hash): 
![image](./image.jpg)

在哈巴狗模板中,内插markdown:

include:markdown-it(html,linkify) ./index.md

现在,Webpack 4出现了。这是我的(大约)配置:

插件

new HtmlWebpackPlugin({
  template: './src/index.pug'
}),

规则:

{
  test: /\.pug$/,loaders: [
    // html loader gets webpack to process <img> src
    'html-loader',// requires pretty option otherwise some spacing between elements is lost
    'pug-html-loader?{"interpolate":true,"pretty":true,"exports":false}'
  ],}

应该怎么回事:

Webpack应该生成一个index.html文件,看起来像这样:

<img src='a_generated_resource_hash.jpg` alt=''>

查看以下答案:

现在,当我运行webpack时,出现以下错误

Child HtmlWebpackCompiler:
     1 asset
    Entrypoint HtmlWebpackPlugin_0 = __child-HtmlWebpackPlugin_0
    [./node_modules/html-webpack-plugin/lib/loader.js!./src/index.pug] 500 bytes {HtmlWebpackPlugin_0} [built] [Failed] [1 error]
    ERROR in ./src/index.pug (./node_modules/html-webpack-plugin/lib/loader.js!./src/index.pug)
    Module build Failed (from ./node_modules/pug-html-loader/lib/index.js):
    TypeError: require is not a function
        at eval (eval at wrap (/mnt/c/Users/arcop/git/yardwork-site/node_modules/pug-runtime/wrap.js:6:10),<anonymous>:26:752)  
        at template (eval at wrap (/mnt/c/Users/arcop/git/yardwork-site/node_modules/pug-runtime/wrap.js:6:10),<anonymous>:34:689)
        at Object.module.exports (/mnt/c/Users/arcop/git/yardwork-site/node_modules/pug-html-loader/lib/index.js:33:10)

紧邻上面是更长,更详细的堆栈跟踪:

ERROR in   Error: Child compilation Failed:
  Module build Failed (from ./node_modules/pug-html-loader/lib/index.js):
  TypeError: require is not a function




  - TypeError: require is not a function

  - ModuleBuildError: Module build Failed (from ./node_modules/pug-html-loader/lib/index.js):

  - TypeError: require is not a function



  - index.js:33 Object.module.exports
    [yardwork-site]/[pug-html-loader]/lib/index.js:33:10

  - normalModule.js:316 runLoaders
    [yardwork-site]/[webpack]/lib/normalModule.js:316:20

  - LoaderRunner.js:367
    [yardwork-site]/[loader-runner]/lib/LoaderRunner.js:367:11

  - LoaderRunner.js:233
    [yardwork-site]/[loader-runner]/lib/LoaderRunner.js:233:18

  - LoaderRunner.js:143 runSyncOrAsync
    [yardwork-site]/[loader-runner]/lib/LoaderRunner.js:143:3

  - LoaderRunner.js:232 iteratenormalLoaders
    [yardwork-site]/[loader-runner]/lib/LoaderRunner.js:232:2

  - LoaderRunner.js:205 Array.<anonymous>
    [yardwork-site]/[loader-runner]/lib/LoaderRunner.js:205:4

  - CachedInputFileSystem.js:55 Storage.finished
    [yardwork-site]/[enhanced-resolve]/lib/CachedInputFileSystem.js:55:16

  - CachedInputFileSystem.js:91 provider
    [yardwork-site]/[enhanced-resolve]/lib/CachedInputFileSystem.js:91:9

  - graceful-fs.js:115
    [yardwork-site]/[graceful-fs]/graceful-fs.js:115:16

  - read_file_context.js:53 FSReqWrap.readFileAfterClose [as oncomplete]
    internal/fs/read_file_context.js:53:3

  - child-compiler.js:131 childCompiler.runAsChild
    [yardwork-site]/[html-webpack-plugin]/lib/child-compiler.js:131:18

  - Compiler.js:343 compile
    [yardwork-site]/[webpack]/lib/Compiler.js:343:11

  - Compiler.js:681 hooks.afterCompile.callAsync.err
    [yardwork-site]/[webpack]/lib/Compiler.js:681:15


  - Hook.js:154 AsyncSeriesHook.lazyCompileHook
    [yardwork-site]/[tapable]/lib/Hook.js:154:20

  - Compiler.js:678 compilation.seal.err
    [yardwork-site]/[webpack]/lib/Compiler.js:678:31


  - Hook.js:154 AsyncSeriesHook.lazyCompileHook
    [yardwork-site]/[tapable]/lib/Hook.js:154:20

  - Compilation.js:1423 hooks.optimizeAssets.callAsync.err
    [yardwork-site]/[webpack]/lib/Compilation.js:1423:35


  - Hook.js:154 AsyncSeriesHook.lazyCompileHook
    [yardwork-site]/[tapable]/lib/Hook.js:154:20

  - Compilation.js:1414 hooks.optimizeChunkAssets.callAsync.err
    [yardwork-site]/[webpack]/lib/Compilation.js:1414:32


  - Hook.js:154 AsyncSeriesHook.lazyCompileHook
    [yardwork-site]/[tapable]/lib/Hook.js:154:20

  - Compilation.js:1409 hooks.additionalAssets.callAsync.err
    [yardwork-site]/[webpack]/lib/Compilation.js:1409:36

require is not a function向我暗示,ES6 javascript管道中的某个地方正与Commonjs混为一谈,但是我真的还不够了解。

不幸的是,我完全不懂我的意思。完全不支持我尝试配置事物的方式。任何想法/建议都非常感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?