Включая встроенные функции JavaScript из внешнего файла - PullRequest
0 голосов
/ 19 марта 2019

Я использую встроенный JavaScript и определил определенные функции внутри для создания таблицы:

<% function createCollectionTableRow(col) { %>
<tr>
    <td>
        <a href="/<%= database %>/collections/<%= collections[col][0].name %>"><%= collections[col][0].name %></a></td><td><%= collections[col][0].count %>
    </td>
    <td>
        <button id="<%= collections[col][0].name %>_rename_button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#renameModal">Rename</button>
        <script type="text/javascript">
            $('#<%= collections[col][0].name %>_rename_button').on('click', function() {
                $('#rename_button').on('click', function() {
                    var newname = $('#rename_input').val();
                    $('#rename').attr('action', '/collections/<%= collections[col][0].name %>/rename?newname=' + newname);
                });
            });
        </script>
    </td>
    <td>
        <button id="<%= collections[col][0].name %>_copy_button" class="btn btn-sm btn-info" data-toggle="modal" data-target="#copyModal">Copy</button>
        <script type="text/javascript">
            $('#<%= collections[col][0].name %>_copy_button').on('click', function() {
                $('#copy_button').on('click', function() {
                    var selection = $('#select_collection').val();
                    var db = $('#select_database').val();
                    $('#copy').attr('action', '/collections/<%= collections[col][0].name %>/copy?db=' + db + '&copyto=' + selection);
                });
            })
        </script>
    </td>
    <td>
        <form action="/collections/<%= collections[col][0].name %>?_method=DELETE" method="POST">
            <button class="btn btn-sm btn-danger">Delete</button>
        </form>
    </td>
    <td>
        <button id="<%= collections[col][0].name %>_truncate_button" class="btn btn-sm btn-warning" data-toggle="modal" data-target="#docTruncateModal">Truncate</button>
        <script type="text/javascript">
            $('#<%= collections[col][0].name %>_truncate_button').on('click', function() {
                $('#doc_truncate').attr('action', '/collections/<%= collections[col][0].name %>/truncate');
                $('#full_truncate').attr('action', '/collections/<%= collections[col][0].name %>/full_truncate');
            });
        </script>
    </td>
</tr>

Теперь я могу захотеть повторно использовать указанную функцию на разных страницах, но всякий раз, когда я пытаюсь переместить ее в отдельный файл, скажите «functions.ejs» и использую следующий оператор в начале каждой страницы <% include functions.ejs %> Мне говорят Там нет такой функции. Что дает?

1 Ответ

0 голосов
/ 19 марта 2019

Согласно README вы должны включить его следующим образом:

<% include functions %>

.ejs необязательно

...