2014-11-30 2 views
1

Я создал приложение nodeJS, которое генерирует код Dartlang INTEROP из файла определения типа API SP API для Office 365, SharePoint Online.Отладка Dart в Office 365 Часть приложения

Я пытаюсь использовать Visual Studio 2013 (обновление 4) для развертывания тестовой части приложения в SharePoint онлайн, где app.js будет основной функцией из приложения для тестирования дротиков, код будет выглядеть примерно так. ..

import 'package:ms_sp_api/js_api_sp.dart' as SP; 
 
void main() { 
 
    SP.ClientContext clientContext; 
 
    SP.ListCreationInformation listCreationInfo; 
 
    SP.Web web; 
 
    var list; 
 

 
    clientContext = new SP.ClientContext("url to test site")..get_current(); 
 
    //sp..get_current(); 
 
    web = clientContext.get_web(); 
 
    listCreationInfo = new SP.ListCreationInformation(); 
 
    listCreationInfo.set_title("User data"); 
 
    listCreationInfo.set_templateType(SP.ListTemplateType.genericList); 
 
    list = web.get_lists().add(listCreationInfo); 
 

 
    clientContext.load(list); 
 
}

предполагая, что я в состоянии развернуть файл Dart (ы) в SharePoint App части, и при условии, что я в состоянии получить часть приложения для вызова основных() функции тестового приложения Dart, я все равно должен иметь возможность отлаживать файл Dart.
Смогу ли я подключить Dartium к URL-адресу развернутой части приложения и успешно отладить его?

Я надеюсь, что после того, как я его отлаживал, я бы dart2js приложение для дартс, и это будет скрипт, который будет развернут в части приложения. Я успешно развернул простые приложения для дартс в частях приложения, но в этом случае мне нужно отладить часть приложения, чтобы получить SP API для работы с Дартом. Я не верю, что могу тестировать API, созданный с помощью кода, локально, он должен быть размещен в части/странице приложения SharePoint.

Вот краткий обзор того, что я пытаюсь создать, которая представляет собой серию бизнес-компонентов, которые полностью встроены в Dart, которые можно развернуть в O365 и использовать несколько сторонних JS-библиотек, которые я очень близко к тому, с помощью набора транскрипта Dart, код сгенерированных библиотек Dart JS Interop ...

enter image description here

Любые идеи или помощь будет принята с благодарностью.

ответ

0

Просто загрузите страницу в Dartium, откройте инструменты Chrome dev, найдите скрипт на вкладке sources, установите точку останова и выполните что-то, что вызывает код. Затем следует нажать точку останова.

+0

Спасибо! Можете ли вы подтвердить, что это то, что я хотел бы развернуть в части приложения O365 в Visual Studio ... Я планировал включить все файлы dart, полученные из приложения дротика, включая файл дротика, содержащий функцию main(), а также html проекта дартс ссылки на скрипты SP API JS на целевом веб-сайте. Я также разворачиваю весь контент в папке пакетов из приложения тестового дротика, которое будет включать в себя все исходные файлы дротиков, в том числе файлы dart-файлов SP API-интерфейса INTEROP и любые другие файлы дротинга импортированного дротика. Это правда? – user1333524

+0

В целях отладки или действительно «развертывания»? Для реального развертывания вам нужно запустить 'pub build' для генерации JavaScript, а затем развернуть форму файлов' build/web' –

1

Спасибо, Гюнтер, подход работает, но только в рамках модели Hosted App Provider, а не модели Hosted App SharePoint. Причина в том, что в настоящее время SharePoint Online не позволяет вам указывать дополнительные типы MIME, поэтому application/dart отклоняется. В модели Host Provider вы можете развернуть проект MVC, который размещен на отдельном сервере (Azure в моем случае), а затем вы просто добавляете новый MIMETYPE в IISExpress.

Я также рекомендую загрузить расширение Web Essentials VISX для Visual Studio, которое позволяет установить целевой браузер как Chromium (найденный в дротике).

Другое дело, что я создал проект Dart под/внутри папки MVC, чтобы он мог быть включен непосредственно в проект MVC. Это позволит мне включить несколько проектов Dart в проект части одного приложения, так как мне нужно протестировать много прокси-сервера API.

Я использую Web Storm для редактирования проектов Дарт, а затем нужно добавить свет логики интеграции в проект MVC, чтобы вытащить логику дротика непосредственно в проект MVC. Наличие проекта дартс непосредственно в проекте Visual Studio MVC имеет дополнительное преимущество в том, что все файлы dart управляются в TFS, синхронизируются в проекте части приложения SharePoint.

Ниже представлен обзор высокого уровня преобразования из файлов определения файлов в Dart INTEROP-прокси-библиотеку. Я использую службу узлов абстрактного синтаксического дерева, которая интегрирована в TypScript для анализа файла описания файлов. Это итеративный процесс, в котором я повторно запускаю трансформатор, добавляя дополнительную информацию о процессоре преобразования (через XML-хелпер-файл) для таких вещей, как имена имен переименования, класс singleton, базовые типы перечислений и определения тела конструктора/класса. Трансформатор довольно приличный, но ему нужна небольшая помощь для создания правильного выхода. Моя надежда состоит в том, чтобы иметь возможность трансформировать любой файл описания файлов для создания кода эквивалентной прокси-библиотеки Dart API, которая должна легко интегрировать с сторонними JS-библиотеками (при условии, что файл определения описаний имеет качество).

enter image description here

Теперь, когда я знаю, что это MVC комплексный подход на самом деле работает это позволит мне отлаживать код сгенерированный SharePoint/Office 365 API INTEROP прокси библиотеки для дротика, который на самом деле довольно массивный по размеру и сложности и, как поэтому я так благодарен, что смог пройти через него, в отладчике Chromium.

После того, как я завершил все испытания, я создам конечный продукт для JS-скрипта, который будет непосредственно включен в готовую к выпуску веб-часть SP и в этот момент может быть размещен как SharePoint, так и Provided Hosted, поскольку в этот момент это всего лишь JavaScript (истинная выгода Дарта).

Еще раз спасибо за помощь.

Cheers John

+0

Вам нужна «Host Host App App Model» во время отладки? –

+0

Да, я не мог заставить SP-приложение App Model отлаживаться из-за проблем с MIME-типом. – user1333524