我正在尝试将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
当webpack将您的ejs
编译为HTML时,它没有local
变量传递给模板,因此会出现此错误。如果您事先知道变量,则可以将其作为选项在webpack中传递---参见ejs-html-loader
。
[如果您仍想使用通过ejs传递到页面的变量,则需要使用一个单独的“模板” ejs
文件,它实际上是准系统---仅用于将数据传递到<script>
。
如果您要继续将变量传递到页面的“ html”中,则需要使用某种ejs加载程序,以某种方式保持ejs
输出,这可能会限制您选择可用于其他加载程序的选项webpack优化。