Вопрос по – Javascript AMD Modules: как получить IntelliSense для Visual Studio между модулями

8

После изучения определения асинхронного модуля (AMD) в контексте javascript мне стало интересно, как получить intellisense в Visual Studio 2010 для зависимого модуля.

Например, данный модуль A:

define(function() {
    return {
        square: function(value) {
            return value * value;
        }
    };
});

и соответствующий модуль B:

define(["A"], function(a) {
    return {
        value: a.square(10)
    }
});

Затем я хотел бы получить полное значение для модуля A (представленного как параметр a) в модуле B. Обратите внимание, что оба этих модуля будут определены в отдельных файлах (в данном случае A.js и B.js).

Я опубликовал ошибку для visual studio для аналогичной проблемы:connect.microsoft.com/VisualStudio/feedback/details/2825862 (Хотя я и не писал о моем логине, когда я писал). Если аналогичные условия решают вашу проблему, пожалуйста, прокомментируйте проблему. beruic

Ваш Ответ

2   ответа
5

Комментировать GitHub Repo

В основном, я должен был убедиться, что это:

/// <reference path="require.js" />

находится в верхней части файла _references.js. Это работает в «Требуется» и «определить»; блокирует, но, по-видимому, не работает внутри анонимных функций внутри "define" блоки.

2

что автор RequireJS работает над поддержкой Intellisense здесь: https://github.com/jrburke/requirejs-intellisense

К сожалению, я не получил "магию" работать еще.

UpdateЯ заставил это работать в определенных сценариях. В частности, он прекрасно работает, когда все файлы js находятся в одной папке.

Что вы сделали, чтобы заставить его работать? Charles
Я поместил все файлы javascript в одну и ту же папку и "ссылка" require.js (перетащите файл в редактор, чтобы получить справочный комментарий). Я обнаружил, что обычно требуется несколько секунд, чтобы начать работать. Я заставил это работать для некоторых других структур папок, но это казалось довольно ограниченным. Также я думаю, что это работает только для звонков по требованию (не определяет).
Я получаю функции define и require (т.е. «require» отображается в intellisense в определении модуля по умолчанию). Однако я не могу получить Intellisense для теста или человека, то есть «тест». не перечисляет numberProperty и childObject. Это то, что я имел в виду под «полным». IntelliSense. Charles
Получилось, вот что я сделал: 1. Клонировалgithub.com/jrburke/requirejs-intellisense 2. Создано пустое веб-приложение sln в версии 11 (версия 10 не работает для меня). 3. Скопировал все js-файлы из теста в sln 4. Открыл default.js и удалил & jas / & apos; префикс (person и test не находятся в подпути) 5. Добавлен & quot; /// & lt; reference path = & quot; require.intellisense.js & quot; / & GT; & Quot; в начало файла default.js 6. В парне пользователя теперь должен быть intellisense 7. Открыл test.js и добавил пустой массив зависимостей, т. е. define теперь должен иметь значение «define ([], function () {» 8.) param, в default.js теперь есть intellisense, ууу: D Charles

Похожие вопросы