I want to test my react/ node.js web app with a production build. I already run npm run build at the app directory and created build folder.
I was unable to run the application using localhost:8080 (server port).
Are there any ways to double check if the application is actually running in that port or access production-ready application?
PS. I used serve to host the application but it posts error 404: The requested path could not be found
Thank you for your help.
Every SPA application has its own package.json file. Inside you have to see the script section:
Normally after you run nm run build you have a compiled version of your code.
At this point, you have a see the dist folder.
After this, you can either run npm run start and you have to see
(this option is not suitable for SSR frameworks like NUXT or NEXT)
or if you don't have that option install an npm package that renders your compiled code by doing the following:
npm install -g serve
serve -s build
and you have to see
Related
I am try to search this question by google.But not helpful for me.
I hava a demo of create-react-app.
Run it in localhost(npm start), that work well when browser disable cache.for example:
localhost
The step was run npm run build in localhost.then scp -r build server:/home/deploy/app/.run it by nginx.
Then open the browser to run,that initialization or refresh slowly when disable cache too. for example:
server
you could find load 500KB js file need 15seconds in server.
I guess that is a relationship with bandwidth. My server bandwidth was 1M/s.but i'm not sure.
ps: I'm sorry I forgot to declare the specific environment, but I did these steps.
If you're running this in production, I wouldn't suggest you running the web-application with npm start on the server.
A much better solution would be to run npm run-script build by which you'd get a response as such:
Creating an optimized production build...
Compiled successfully.
File sizes after gzip:
48.12 KB build/static/js/main.9fdf0e48.js
288 B build/static/css/main.cacbacc7.css
The project was built assuming it is hosted at the server root.
To override this, specify the homepage in your package.json.
For example, add this to build it for GitHub Pages:
"homepage" : "http://myname.github.io/myapp",
The build folder is ready to be deployed.
You may serve it with a static server:
sudo npm install -g serve
serve -s build
You could either do serve -s build or set up nginx or apache to serve the files (it's just html, css and js). You could also use Github Pages to host it.
Are you missing the build step?
If yes, try npm run build or yarn build. It will output an optimized version of your app to ./build directory. You can then host it on your server with nginx or other server setup.
More info here: official docs
When you do npm start npm starts the development version of your app.
It includes some debug code, error checking and live refresh.
I'm new to AngularJS. I created a sample app using yeoman for AngularJS. The source is hosted on github here https://github.com/Omnipresent/demoangularapp
I'm not sure how to run the app?
How can I run the app so that it runs on my localhost server and I can play around with it?
Depending on which task runner you are using: Run CLI command gulp serve, grunt serve or npm run serve if you have the node package serve installed to start a local webserver. In your case it should be gulp serve while you using gulp this time. Run this CLI commands in your project root directoy or create a host/vhost witch points to your yo generated app directory where your index.htmlhas been created.
This commands will start an local webserver.
For mor information checkout the yo documentation.
It doesn't matter if application is generated with yeoman, it's just a scaffolding tool. You should run bash with commands: npm install, gulp serve. also make sure that you have gulp installed both globally and locally.
I am trying to build an application for a local private network (with no access to the web) using meteor. From my research, I can't seem to find a way to take meteor 100% 'offline' meaning, no dependencies to web services to build / run.
I've looked at the following links - How can Meteor apps work offline? and here - https://groups.google.com/forum/#!topic/meteor-talk/tGto0cCsvXA
yet neither threads give a clear cut answer on if it's possible and how to go about formulating an approach.
I am hoping someone could provide guidance on how I would go about removing the meteor framework dependencies for online services. If this won't be possible, other suggestions for frameworks that play well for local private network apps would be most appreciated.
If I get you right, you wish to build a webapp that is to be deployed on a local network.
If that is indeed the case, then the answer is yes.
An example setup would be:
a server computer with linux (ex: Ubuntu server)
node installed on it (0.10.29 is necesarry for a 0.8.3 meteor app - see: https://askubuntu.com/questions/49390/how-do-i-install-the-latest-version-of-node-js)
mongodb installed and running as a service
then on your dev machine run
meteor bundle --directory /your/independent/app
Copy the app folder to the target machine
Though you will find more information in the bundled README (see below) I use the following bash script to start my app
rm -rf programs/server/node_modules/fibers
npm install ~/.meteor/tools/latest/lib/node_modules/fibers/
# npm install fibers#1.0.1
export MONGO_URL='mongodb://localhost/survey'
export PORT=3000
export ROOT_URL='http://127.0.0.1'
~/bin/node main.js
And that's about it. With these steps you can deploy an app created by meteor on any machine. The only dependencies being node (specific versions) and mongodb.
README (generated by meteor bundle)
This is a Meteor application bundle. It has only one dependency:
Node.js 0.10.29 or newer, plus the 'fibers' and 'bcrypt' modules.
To run the application:
$ rm -r programs/server/node_modules/fibers
$ rm -r programs/server/node_modules/bcrypt
$ npm install fibers#1.0.1
$ npm install bcrypt#0.7.7
$ export MONGO_URL='mongodb://user:password#host:port/databasename'
$ export ROOT_URL='http://example.com'
$ export MAIL_URL='smtp://user:password#mailhost:port/'
$ node main.js
Use the PORT environment variable to set the port where the
application will listen. The default is 80, but that will require
root on most systems.
Find out more about Meteor at meteor.com.
I have set up a PHP App Server Layer in my AWS OpsWorks stack which works fine. Now I need to have it install node.js as well in order to compile and minify stylus and coffeescript, run browserify and also compress pngs, all through Grunt on each deploy.
The steps/requirements are:
Install node.js
Install grunt-cli globally
Run npm install
Set write permissions for node on public/assets/
Run grunt deploy "install" hook preconfigured in package.json
Ideally uninstall node, npm and all node modules as they are no longer needed
I have tried setting the official cookbook as custom chef repo and including all the recipes from the node.js app server default recipes, but they fail as the app is not a node.js app.
Does anyone have any experience with this?
I am working on a project for an embedded Linux system (busybox made with buildroot). I am wondering if it is possible to use node.js modules socket.io and express without having to install or run npm. The goal is to be able to have buildroot configured to create a busybox image that simply includes node.js, and then place all my javascript files in the proper directory and execute node app.js from the command line to run the node application (which will use socket.io and express).
So, for example on my development machine (That does have node.js and npm installed), I could run npm install socket.io so it would get socket.io and all its dependencies and install it in the node_modules directory of my project. If I place all those files in a directory and move them to the production environment (embedded Linux with just node.js installed and where npm install socket.io was never run) would my application work?
If I place all those files in a directory and move them to the production environment would my application work?
Yes, it would. However, if you do have any binary dependencies, they need to be recompiled, so it's a bit trickier. If you don't, you'll be fine.