Как действительно "начать работу" с FunScript

у меня возникли реальные проблемы, пытаясь начать работу с FunScript, мне очень нравится идея F# -> Javascript, но постоянно расстраивается количеством информации/документации о том, как работать с такими красивыми технологиями.

вот в чем проблема:

шаблон проекта FunScript (без хостинга) не может быть установлен, потому что: "вам нужно установить Nuget", говорит VS, когда я пытаюсь загрузить его. // Dah, I do have Nuget and just updated it to latest release. I'm using VS2013 Ultimate.

Я сделал следующее:

I создал новый проект Библиотеки FSharp, а затем запустил команду Package Maneger для получения необходимых библиотек FunScript:

PM> Install-Package FunScript

это сработало хорошо, но потом . . . Когда я смотрю на пример FunScript, я вижу open FunScript.TypeScript в программе, которая в настоящее время не существует, когда я набираю, что, как говорится, TypeScript не определяет, и глядя на примеры FunScript.TypeScript дает возможность использовать jQuery и взаимодействовать с DOM. так что без него я ничего не могу сделать здесь

I заметил сторонние библиотеки на Nuget для FunScript, то:

FuncScript.TypeScript.Bindings.(lib|jquery)

но я не могу ссылаться на них в операторе "open [namespace]".

и, наконец, должны быть компоненты "do Runtime"..."что-то в конце программы. это также "не определено"

у вас есть полный пример FunScript, с которого я могу начать? (Я уже много искал в интернете, программы, которые я видел, не работали со мной)

3 ответов


извините, проект все еще немного тонкий по документации. Мы постараемся улучшить это в ближайшее время.

теперь я обновил Шаблон Проекта Funscript Visual Studio чтобы удалить зависимость диспетчера пакетов NuGet. От v1.1.0.15 Он должен работать в Visual Studio 2013. Примечание: вам может потребоваться построить дважды, чтобы восстановить пакеты NuGet правильно.

вы получаете только базовый компилятор f# для JS (и некоторый FSharp.Сопоставления поставщиков типов данных) в основной пакет NuGet. Если вы хотите получить доступ к JavaScript через привязки TypeScript, вы должны добавить ссылки на те пакеты" Привязок", которые вы упомянули.

имена этих пакетов фактически не отражают никакого пространства имен в сборках. В настоящее время они импортируют типы в глобальное пространство имен (т. е. они должны быть доступны в intellisense без открытия пространств имен). Если TypeScript не содержит модулей, в этом случае функции и типы сопоставляются с соответствующие пространства имен .NET.

Е. Г., Globals.alert(message) следует ввести-проверить после добавления FunScript.TypeScript.Binding.lib пакета NuGet.

обратите внимание, мы можем перенести эти определения в FunScript.TypeScript пространство имен в будущем, чтобы избежать загрязнения глобального пространства имен.

на do Runtime.Run(components) вызов в примерах на самом деле является просто вспомогательным методом. Вероятно, мы должны удалить это из примеров, так как это смущает многих людей. Единственный метод вызова вам действительно нужно это Compiler.Compile(<@ main() @>, noReturn = true), которым компилирует предложение и возвращает строку JavaScript. Затем пользователю решать, что они делают с этим JavaScript (например, помещают его на размещенную страницу).

Я буду добавлять больше документации по использованию FunScript, когда я выпущу другой проект под названием HashBang, который использует FunScript для создания обходимых-динамических-веб-сайтов. Это будет включать пошаговые руководства по созданию и развертыванию с помощью HashBang/FunScript.


У меня был плавный вход ...

используется MS Visual Studio 2013 (professional) с шаблоном проекта vanilla "FunScript - not Hosted" (Зак Бари), который можно найти через онлайн-поиск проекта.

затем добавьте соответствующие пакеты привязки FunScript (через NuGet). Я добавил Для некоторых своих решений: FunScript.машинописный текст.Обязательный.jquerymobile и FunScript.машинописный текст.Обязательный.помощью PhoneGap

вы можете увидеть несколько моих примеров на GiHub (https://github.com/ZachBray/FunScript/tree/master/src/samples/EasyGettingStarted). Все, что вам нужно сделать, это заменить программу.fs Из проекта по умолчанию (FunScript - не размещен). И добавьте остальные файлы. Я использую в качестве основы некоторые коды Зака Брэя. См. файл README по ссылке выше.

должен быть опыт 5-10 минут для вас, если у вас установлен MS VS 2013. Я в процессе представления дополнительных примеров. Я рекомендую Funscript.


согласно совету Зака выше, я создал рабочий (по крайней мере, время написания) пример проекта для OSX и Xamarin Studio:

https://github.com/mfrawley/Funny

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