我如何将视图引擎(ejs)添加到Express和Web Pack开发服务器的组合中?

问题描述 投票:1回答:1

我正在尝试将ejs集成到Express和Web Pack开发服务器项目中,但我无法这样做,因为即使我传递了变量,它们也会像这样加载

Html Webpack Plugin:
  ReferenceError: name is not defined

  - index.ejs:102 ./node_modules/html-webpack-plugin/lib/loader.js!./src/templates/views/index.ejs.module.exports
    C:/Users/arora/OneDrive/Documents/Rishab/Projects/Webpress/src/templates/views/index.ejs:102:11

  - index.js:284 
    [Webpress]/[html-webpack-plugin]/index.js:284:18

  - task_queues.js:93 processTicksAndRejections
    internal/process/task_queues.js:93:5

Error在控制台中。请帮助,这里是code link。预先感谢。

node.js express ejs webpack-dev-server webpack-4
1个回答
0
投票

当webpack将您的ejs编译为HTML时,它没有local变量传递给模板,因此会出现此错误。如果您事先知道变量,则可以将其作为选项在webpack中传递---参见ejs-html-loader

[如果您仍想使用通过ejs传递到页面的变量,则需要使用一个单独的“模板” ejs文件,它实际上是准系统---仅用于将数据传递到<script>

如果您要继续将变量传递到页面的“ html”中,则需要使用某种ejs加载程序,以某种方式保持ejs输出,这可能会限制您选择可用于其他加载程序的选项webpack优化。

© www.soinside.com 2019 - 2024. All rights reserved.