How to Serve an Aurelia.io app without using Gulp watch - durandal

How do you run an Aurelia app without running gulp watch and just going to localhost:9000. Ideally I would like to just run my nodejs server and it all just works without having to run a separate task (a gulp task).
I would like to build Aurelia and just start using it in the same way that I can with Durandal.

take a look at the Aurelia-Node Repo for a quick start. It uses ExpressJS to provide a simple REST api as well as static serve the Aurelia App.
You'd still need the Gulp task (inside public/app) to build your es6 modules etc. but the hosting then works from node itself, so gulp build should be enough.
EDIT:
The repo provides a gulpfile in the root as well. The big difference using this one is that it not only transpiles the frontend code but also browserSyncs the node application via nodemon. Again all of this is not necessary for final hosting. A normal node app.js would be enough. Gulp etc. is just used during the development process.

I download Aurelia repository from
https://github.com/aurelia/
And run project successfully via webstrom on different port not on localhost:9000 without "gulp watch" .
But I installed Aurelia dependency then started project on webstorm its run successfully.
Steps for run project without "gulp watch"...
Run given command on command line from project folder.
Install the Apps dependencies - **npm install**
Install JSPM dependencies - **jspm install -y**
Install Gulp - **npm install gulp**
then explore your index.html page on chrome. Make sure you running Aurelia in Chrome, IE and Firefox.
I tested Aurelia application in Chrome, IE , Safari and Firefox result
Chrome - Pass
IE - Pass
Firefox - Pass
Safari - Fail
But in safari that was fail.

Related

Is vue.config.js file executed on building or starting the Vue App?

I am using vue.config.js to inject configuration on App start.
It works on my dev machine, when I execute a vue-cli-service serve command.
As stated in docs, this command "starts a dev server".
I thought when my App is run inside a Docker pod, it would launch a similar command, but obviously, it is not the case because my configuration is not loaded.
So I may misunderstand the step where this file is used: building or starting?

Add npm run build to Fortrabbit deploy process

Using Fortrabbit to deploy a PHP app which uses a node project for the front end. Is there any way in which I can add npm run build to the deploy process instead of having to always build first manually and then deploying it through Fortrabbit?
(There is a fortrabbit.yaml file on the fortrabbit site that needs to be configured for every fortrabbit app but the example doesn't show how we can add that command in the deployment pipeline.)
Sorry. There is no way to run Node JS during deployment on fortrabbit yet.

Recommended way to deploy Nuxt.js App with Express

I'm looking into using Nuxt.js for a new Web application with an Express server / API attached in the project itself. I've created the Nuxt.js application with the npx create-nuxt-app command and selected Express as "custom server framework".
When using the development environment (npm run dev), it works like a charm. Now, I want to deploy the application to a server which is running pm2 using Gitlab CI. I struggle with the right way to deploy the application, as I don't think I should "upload" the sourcecode to the server and then run the neccessary commands like npm run build or npm start. So, what is actually "the right way" to deploy this application with the server?
I have SSH access to a server where I want to deploy this application & API. The server is running pm2 for managing the Node processes.
Furthermore, the sourcecode is in a repository on a Gitlab server with a Gitlab CI Runner available. The current gitlab-ci.yml does the following:
npm install
npm run build
lftp the dist folder to the server
With a SPA, only the client is built and the server / API is not. We now have a, in my opinion, dirty workaround which doesn't work very well that does the following:
npm install
npm run build
mirror the whole project to the server
use a watcher in pm2 to detect changes in files
build project again???
It looks like it doesn't work as intended and I have the feeling we are creating problems instead of solving the deployment issue the right way. We don't use Heroku, Google or any other services for hosting the application, it's just a webhosting with SSH access basically.

Why ng e2e builds modules?

I used selenium webdriver before, in custom build project. It just opened web page of my project right away and immediately started running test cases. The only prerequisite was to start project server before launching it.
Now after creating generic project using 'ng new' I started it with 'ng serve'. Then I ran 'ng e2e' to test UI. It works, but for some reason it goes through whole module building thing again. It takes some time while I would like tests to start as fast as possible, and I know from my experience that it can be done.
The question: Can module building phase of ng e2e be omitted?
with the angular 6 and on --no-serve is not available anymore, so use instead:
ng e2e "--dev-server-target="
(yes empty value after the '=')
this will work if you have another window running an ng serve command.
Try with --no-serve option
ng e2e --no-serve

Install webdriver globally or localy?

The manual states that
You can also install the package globally on your machine and use the
wdio directly from the command line. However it is recommended to
install it per project.
Why is that? What downfall should I worry if installing globally?
If you only wish to use webdriver only in your shell regardless of any project then you can install it globally. However, if you wish to use it in a project, such that it is required to run project tests then install it locally (in this case it should be devDependency). The reasons are:
1) When multiple people working on a project, it is ensured that all of them have the same versions of the required packages.
2) Portability. The project dependencies should be completely defined in package.json so that after running npm install the project is ready to use in every environment.
For people new to NPM and Node, I'd recommend a global install to keep it simple. There are reasons to install it locally though, mostly to do with version compatibility and ease of project sharing: https://www.joezimjs.com/javascript/no-more-global-npm-packages/