如何为客户端加载ejs模板?

时间:2019-03-13 09:45:17

标签: javascript webpack ejs

我有外部ejs“我试图将其放在views文件夹和src文件夹内,然后将其导入index.js内,但仍然无法正常工作”。我想将数据发送到外部ejs,我尝试使用axios加载文件,但仍然无法正常工作

我在index.js前端文件中导入了ejs.min.js,然后伪造了我想要渲染的数据以将其打印在外部ejs文件中。和我使用webpack作为编译器

import axios from "axios";

import ejs from "../node_modules/ejs/ejs.min.js";
import confirmedData from ".././example-data/response.json";



// some vanilla js code in between 

const confirmationElements = confirmedData => {
  console.log("387", confirmedData);
  console.log("388", ejs);
  // axios.get("./confirmation.ejs").then(response => console.log(response));
  const html = ejs.render(
    `
<div>
    <p class="">
      <%= confirmedData.customerData.eMail %>
    </p>
</div>
`,
    { confirmedData: confirmedData }
  );

//here im trying to print what comes directly from confirmedData object inside the template later I wanna import the confirmation ejs file and print confirmationData inside.

  console.log(html);
  return html;
};

当我尝试这样做时,我在控制台中收到此错误

  

未捕获的TypeError:ejs:3       1 |       2 |

     
    
      

3 | <%= ConfirmedData.customerData.eMail%>           4 |

    
  
     

无法读取未定义的属性“ eMail”       在评估时(在评估时评估(ejs.min.js:NaN),:11:53)       在returnFn(ejs.min.js:1)       在Object.exports.render(ejs.min.js:1)       在确认元素时(index.js:445)       在评估时(index.js:452)       在Module ../ src / index.js(main.bundle.js:1677)       在 webpack_require (main.bundle.js:724)       在fn(main.bundle.js:101)       在评估时(index.js:1)       在Object.0(main.bundle.js:1699)

这是api响应,我已经进行了axios调用响应,并获得了成功

{
  "status": "success",
  "confirmationResponse": {
    "customerData": {
      "name": { "prefix": "", "firstName": "test", "lastName": "test" },
      "phoneData": [0123456789],
      "eMail": "test@test.de",
      "address": {
        "streetNumber": "Donald Trump 10",
        "cityName": "NY",
        "postalCode": "12345",
        "countryName": "USA"
      }
   }
}

当我尝试导入ejs文件并将其呈现时,我在终端中收到此错误。

  ./src/confirmation.ejs中的

ERROR 1:0模块解析失败:意外   令牌(1:0)您可能需要适当的加载程序来处理此文件   类型。

     
    

|

用户详细信息

| @ ./src/index.js 16:0-46 @多./src/index.js

  

0 个答案:

没有答案