Installation
First, install Yeoman and generator-dnn using npm (we assume you have pre-installed node.js).
npm install -g yo
npm install -g generator-dnn
You will also want to install gulp.js
npm install -g gulp
Generate Your First Module
Let's create a SPA module using the generator.
Open a command line. Create a directory where your modules will be stored. Go into the directory and generate your module.
mkdir mytest
cd mytest
yo dnn
You will be prompted with a few questions.
Select the SPA Module option. Answer the rest of the questions that the generator asks you. After answering the rest of the questions the generator will create the directory structure and then download any related packages necessary.
What you end up with is a solution file in the directory you are currently in with a sub-directory containing your module.
One thing you won't see is a License.txt
or ReleaseNotes.txt
files. Instead, you see License.md and ReleaseNotes.md. This allows you to use markdown
to create your License and Release Notes (It also allows GitHub to render your content nicely). When you build the module using the command line it will automatically convert the markdown to HTML and generate the proper text files for the install package.
From here you can develop your module through any code editor you wish. Once you are ready to install and run through some tests you can run the build to generate the proper installers.
Let's run the build! If you named your module mytest like in the example you can go to this directory and use npm to build your packages. This solution uses some Gulp.js scripts and MS Build to build your module.
Simply type
npm run build
After the module is built the DNN install packages will be created under the _Packages directory. You can now load your module into DNN through the Host Extensions installer.
That's it! generating the structure and start project for your DNN modules has never been simpler.
Troubleshooting
Most issues can be found by running
yo doctor
The doctor
command will diagnose and provide steps to resolve the most common issues.