标签: ejs

更改express + node.js + ejs的代码包装类型

在客户端ejs我使用[% code %]而不是<% code %>标记ejs代码,但我想在服务器端使用express执行相同的操作.在客户端我会做类似的事情var template = new EJS({text: template_src, type:'['});

这是我的节点代码:

app.set('view engine', 'ejs');
app.register('.html', require('ejs'));

app.get('/', function(req, res){
    res.render('index.html', { title: 'My Site' });
});
Run Code Online (Sandbox Code Playgroud)

你在哪里设置"类型"参数,所以我可以改变这个选项

ejs node.js express

1
推荐指数
2
解决办法
3233
查看次数

$(document).ready(...)没有被调用

我有以下ejs模板

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Emasc Editor</title>
        <style>
            .list{
                display: inline-block;
            }
        </style>
        <script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>
        <script type="text/javscript">
$(document).ready(function(){
    alert('test');
    $("#setMembershipsButton").click(function(e){
        // send selected person and groups to server and create memberships
        data = {
            person: $('#person_list').val(),
            groups: $('#group_list').val()
        };
        $.post('/newConnections', data);
    });
    $("#person_list").change(function(){
        alert('test');
        // send selected person to server and retrieve memberships
        $.post('/getPersonGroups', { personID: $('#person_list').val() }, function(data, textStatus){
            $('#group_list option').removeAttr('selected');
            for(var i=0; i<data.ids.length; i++){
                $('#group_list option[value=' + data.ids[i] + ']').attr('selected', 'selected');
            }
        });
    });
}); …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express

1
推荐指数
1
解决办法
1126
查看次数

Express,EJS,挑战未定义的测试

我正在创建一个简单的网站,其中nodejs使用快速框架,couchdb用于数据库,EJS用于模板化.有些时候我的某些JSON文档中的某些字段为null或未定义,我需要处理它.

<% if (typeof test !== 'undefined') { %>
  <p><%= test %></p>
<% } %>
Run Code Online (Sandbox Code Playgroud)

这段代码似乎处理'测试'字段未定义就好了,但下面的代码抛出一个错误,上面写着'测试未定义'

<% if (test) { %>
  <p><%= test %></p>
<% } %>
Run Code Online (Sandbox Code Playgroud)

为什么javascript不能理解test是未定义的,然后在if子句中放入false?

ejs node.js express

1
推荐指数
1
解决办法
6417
查看次数

如何将ejs转换为玉?

我把以下ejs转换成玉器有麻烦:

<% if (message.length > 0) { %>
  <div class="alert alert-danger"><%= message %></div>
<% } %>
Run Code Online (Sandbox Code Playgroud)

这个块怎么看玉?

ejs node.js pug

1
推荐指数
1
解决办法
3819
查看次数

如何在ejs/express中使用globals变量中的函数?

var app = express();
app.locals.current_time = utils.current_time();
Run Code Online (Sandbox Code Playgroud)

我可以为模板中的每个请求更改此变量的变量current_time吗?这个例子中的app.locals.current_time是常量,但我想使用函数.

ejs node.js express

1
推荐指数
1
解决办法
1183
查看次数

EJS中的求和过程

我想把这两个变量加起来:

xValue 是2.00000000(正面)

yValue 是-0.00001250(负数)

<%= xValue.toFixed(8) + yValue.toFixed(8) %>
Run Code Online (Sandbox Code Playgroud)

输出正在变为: 2.00000000-0.00001250

但我需要看到这个:= 1.9999875

如果我提取变量:

<%= xValue.toFixed(8) - yValue.toFixed(8) %>
Run Code Online (Sandbox Code Playgroud)

没问题:= 2.0000125

我做错了什么?

javascript ejs node.js express

1
推荐指数
1
解决办法
3009
查看次数

将数组从EJS传递到Javascript

我试图将数组从ejs传递到JavaScript。我可以获取ejs中的值,但不能从JavaScript中获取值。我一直都不确定,因为变量“ test”的内容是字符串而不是数组。

<script>

var test = '<%- level_tab %>';
alert(test);

function level(s1,s2){
            var s1 = document.getElementById(s1);
            var s2 = document.getElementById(s2);
            s2.innerHTML = "";
            if(s1.value == "level_0"){
                var optionArray = test;
            }
            else if(s1.value == "level_1"){
                var optionArray = ["test|test01", "test0|test02"];
            }
 for(var option in optionArray){
                var pair = optionArray[option].split("|");
                var newOption = document.createElement("option");
                newOption.value = pair[0];
                newOption.innerHTML = pair[1];
                s2.options.add(newOption);
            }
        }
</script>
Run Code Online (Sandbox Code Playgroud)

javascript arrays ejs node.js express

1
推荐指数
2
解决办法
4670
查看次数

iframe嵌入变量作为prc中的src不起作用

这是与ejs一起使用的代码:

<iframe width="660" height="371" src="<%= revive.reviveVideo %>"></iframe>
Run Code Online (Sandbox Code Playgroud)

哈巴狗相当于什么?试过这个,但它不起作用:

iframe(width='660', height='371', src='#{revive.reviveVideo}')
Run Code Online (Sandbox Code Playgroud)

如果我将变量更改为实际路径,它就可以正常工作......这是变量语法的一个问题......

ejs node.js express pug

1
推荐指数
1
解决办法
2854
查看次数

EJS找不到包含文件

这听起来像重复这个和其他几个,但那些栈给出的解决方案是没有帮助的。

我正在使用EJS模板创建HTML,但是在包含部分内容的同时,我收到以下错误:

 throw new Error('Could not find include include file.');
Run Code Online (Sandbox Code Playgroud)

下面是项目结构

 |
 |
 |-----index.js
 |-----view
 |       |
 |       |----pages
 |       |      |----mainTemplate.ejs
 |       |----partials
 |       |      |----bodyTemplate.ejs
 |       |
Run Code Online (Sandbox Code Playgroud)

现在根据文档,include包含相对路径,因此我的mainTemplate.ejs中的代码包括如下的bodyTemplate

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Sample</title>
</head>

<body>

<!-- Insert Body here -->
<div class="container">

    <div class="starter-template">
        <% include ../partials/bodyTemplate.ejs%>
    </div>

</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

而bodyTemlate.ejs中的代码是

<% console.log("#########################");%>
<h1>Hi there !! </h1>
Run Code Online (Sandbox Code Playgroud)

我收到消息找不到包含文件。 此错误不是关于在此处访问哪个路径的具体错误。

我试图从路径中删除..还是没有用?我的EJS应用程序中具有相同的项目结构,并且相同的代码片段可以正常工作吗?这是特定于表达的东西导致此类问题吗?

编辑

这是index.js

var fs = require('fs'),
  ejs = require("ejs");

function ejs2html(path, …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express

1
推荐指数
1
解决办法
2518
查看次数

脚本不会从nodejs应用程序中的ejs文件运行

我正在尝试使用nodejs,express,mysql和ejs使网页显示图表,但我显然不了解ejs/javascript等的工作原理.我需要一个运行脚本来设置图表(来自chart.js模块),但它不会输出任何类型的图表.

我尝试了什么:

  • 在脚本中放置console.log()消息,以查看脚本中的代码是否存在问题.控制台没有输出,所以我确信脚本本身没有运行
  • 将段落标记放在脚本上方的同一文件中,这些文件正常显示,表明文件仍在被访问,而且脚本不能正常工作

下面的脚本将无法运行:

<canvas id="myChart" width="50%" height="100px"></canvas>

<script scr="map-access-data.js" type="text/javascript"></script>
<script id ="map-popularity" type="text/javascript">
    var Chart = require('chart');
    var ctx = document.getElementById("myChart").getContext("2d");
    var myChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: getMapAccessNames(),
            datasets:[{
                label: "Map Selection Popularity",
                data: getMapAccessData(),
                backgroundColor: getMapColors(),
                borderColor: getMapColors(),
                borderWidth: 1
            }]
        },
        options: {
            scales: {
                yAxes: [{
                    ticks: {
                        beginAtZero:true
                    }
                }]
            }
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

在该文件的第一个脚本中引用的map-access-data.js文件:

var mysql = require('mysql');

var connection = mysql.createConnection({
    host     : 'localhost',
    user     : …
Run Code Online (Sandbox Code Playgroud)

html javascript ejs node.js chart.js

1
推荐指数
1
解决办法
3238
查看次数

标签 统计

ejs ×10

node.js ×10

express ×8

javascript ×5

pug ×2

arrays ×1

chart.js ×1

html ×1