Skip to content

Commit c67835e

Browse files
committed
Update docs for Mono
1 parent 2933567 commit c67835e

File tree

3 files changed

+42
-18
lines changed

3 files changed

+42
-18
lines changed

Diff for: site/jekyll/getting-started/download.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ Release Versions
99
The best way to install ReactJS.NET is via NuGet. There are several NuGet
1010
packages available:
1111

12-
* [React.Core](#) - The core React library. Contains the main functionality of
12+
* [React.Core](https://www.nuget.org/packages/React.Core/) - The core React library. Contains the main functionality of
1313
React and JSX. You will normally use this through an integration library
1414
like React.Mvc4.
15-
* [React.Mvc4](#) - Integration with ASP.NET MVC 4 and 5
16-
* [React.Mvc3](#) - Integration with ASP.NET MVC 3
17-
* [System.Web.Optimization.React](#) - Integration with
15+
* [React.Mvc4](https://www.nuget.org/packages/React.Mvc4/) - Integration with ASP.NET MVC 4 and 5.
16+
* [React.Mvc3](https://www.nuget.org/packages/React.Mvc3/) - Integration with ASP.NET MVC 3.
17+
* [React.JavaScriptEngine.VroomJs](https://www.nuget.org/packages/React.JavaScriptEngine.VroomJs/) - Support for Mono (Linux) via Google's V8 engine
18+
* [Cassette.React](https://www.nuget.org/packages/Cassette.React/) - Integration with [Cassette](http://getcassette.net/). The recommended way to combine and minify your JavaScript.
19+
* [System.Web.Optimization.React](https://www.nuget.org/packages/System.Web.Optimization.React/) - Integration with
1820
[ASP.NET Bundling and Minification](http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification).
19-
Use this to combine and minify your JavaScript.
20-
* [Cassette.React](#) - Integration with [Cassette](http://getcassette.net/)
2121

2222
These packages can be installed either via the
2323
[UI in Visual Studio](https://docs.nuget.org/docs/start-here/managing-nuget-packages-using-the-dialog),

Diff for: site/jekyll/guides/mono.md

+32-9
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,35 @@ layout: docs
33
title: Linux (Mono)
44
---
55

6-
**New in ReactJS.NET 0.2.0**
7-
8-
ReactJS.NET 0.2.0 includes partial Mono support. Server-side component rendering
9-
is supported, but JSX compilation is not yet supported. In order to use JSX
10-
on Linux, you need to precompile all your JSX files on Windows before
11-
deployment. This can be done via the [MSBuild task](/guides/msbuild.html) or via
12-
[Cassette](/guides/cassette.html). Precompilation via the MSBuild task will
13-
create `.generated.js` files which need to be deployed alongside the original
14-
`.jsx` files.
6+
**New in ReactJS.NET 0.2.1**
7+
8+
ReactJS.NET 0.2.1 includes full support for Mono via Google's [V8 JavaScript engine](https://code.google.com/p/v8/), the same engine used by Google Chrome and Node.js. To use ReactJS.NET with Mono, you need to compile V8 and VroomJs (a .NET wrapper around V8). This can be accomplished by running the following shell commands on your Linux or Mac OS X machine:
9+
10+
```sh
11+
# Get a supported version of V8
12+
cd /usr/local/src/
13+
git clone https://github.com/v8/v8.git
14+
cd v8
15+
git checkout 3.17
16+
17+
# Build V8
18+
make dependencies
19+
make native werror=no library=shared soname_version=3.17.16.2 -j4
20+
cp out/native/lib.target/libv8.so.3.17.16.2 /usr/local/lib/
21+
22+
# Get ReactJS.NET's version of libvroomjs
23+
cd /usr/local/src/
24+
git clone https://github.com/reactjs/react.net.git
25+
cd react.net
26+
git submodule update --init
27+
cd lib/VroomJs/libvroomjs/
28+
29+
# Build libvroomjs
30+
g++ jscontext.cpp jsengine.cpp managedref.cpp bridge.cpp jsscript.cpp -o libVroomJsNative.so -shared -L /usr/local/src/v8/out/native/lib.target/ -I /usr/local/src/v8/include/ -fPIC -Wl,--no-as-needed -l:/usr/local/lib/libv8.so.3.17.16.2
31+
cp libVroomJsNative.so /usr/local/lib/
32+
ldconfig
33+
```
34+
35+
Once this has been completed, install the **React.JavaScriptEngine.VroomJs** package to your website.
36+
37+
If VroomJs fails to load, you will see an exception when your application is started. If this happens, run Mono with the `MONO_LOG_LEVEL=debug` environment variable to get more useful debugging information. Often, this occurs when Mono is unable to locate V8 (ie. it's not in /usr/lib/ or /usr/local/lib/)

Diff for: site/jekyll/index.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ id: home
1818
[React](http://facebook.github.io/react/) and
1919
[JSX](http://facebook.github.io/react/docs/jsx-in-depth.html) from C# and
2020
other .NET languages, focusing specifically on ASP.NET MVC (although it
21-
also works in other environments). Take a look at
22-
[the tutorial](/getting-started/tutorial.html) to see how easy it is to
23-
get started with React and ReactJS.NET!
21+
also works in other environments). It assumes you already have some basic
22+
knowledge about React. It is cross-platform and can run on Linux via Mono.
23+
Take a look at [the tutorial](/getting-started/tutorial.html) to see how
24+
easy it is to get started with React and ReactJS.NET!
2425
</p>
2526
<p>
2627
<em>

0 commit comments

Comments
 (0)