For quick static sites.
npm install
npm start
Each new page you add needs to be a folder with an index.ejs
file in it inside of the src/
directory. Then you can access the page via the folder route. See below for example:
Folder structure:
.src/
...index.ejs
...about/
......index.ejs
...contact/
......index.ejs
If you wanted to navigate to the about
page in the browser you would use http://localhost:2004/about/
All static assets/images can be put in the _images
folder. They can then be referenced on your pages like so:
<img src="/_images/my-image.jpeg" />
If you want to distribute any node modules, you will need to add them to the "buildNodeModules" function in the gulp task file gulpfile.js
.
You need to specify the path in the node_modules
folder to make. See below example:
const modules = [
{
module: './node_modules/path/to/mymodule/file.min.js',
dest: './dist/js/modules/',
},
];
Gulp will make a copy into the local dist
folder so it can be served. It can then be referenced using the path
variable in ejs like this:
<script src="<%- path %>js/modules/file.min.js"></script>
When you're ready to distribute the goods, run the below command. This will compile/transpile/minimize everything and place all in the dist/
folder.
gulp build-dist
Gulp tasks will run automatically but to manually run them:
Building Javascript: This will concat the js files together in order by name:
gulp build-js
Building SASS
gulp build-sass
Compressing Images
gulp build-images
Using JS Node Modules on the client
gulp build-js-modules
Create your *.spec.js
files as needed inside src/_js/*
npm run test
- Gulp (task runner)
- EJS (templating)
- BrowserSync (live reloading)
- SASS (css preprocessor)
- ES6 (gulp-babel)
- eslint (js linting)
- Mocha (testing)
- Karma (test runner)
- Chai (testing assertion lib)