-
Notifications
You must be signed in to change notification settings - Fork 6
/
app.js
90 lines (76 loc) · 2.82 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/**
* app.jvar allowCrossDomain = function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH')
res.header('Access-Control-Allow-Headers', 'Content-Type')
next()
}
if (process.env.NODE_ENV === 'development') {
app.use(allowCrossDomain)
}s
*
* Use `app.js` to run your app without `sails lift`.
* To start the server, run: `node app.js`.
*
* This is handy in situations where the sails CLI is not relevant or useful,
* such as when you deploy to a server, or a PaaS like Heroku.
*
* For example:
* => `node app.js`
* => `npm start`
* => `forever start app.js`
* => `node debug app.js`
*
* The same command-line arguments and env vars are supported, e.g.:
* `NODE_ENV=production node app.js --port=80 --verbose`
*
* For more information see:
* https://sailsjs.com/anatomy/app.js
*/
// Ensure we're in the project directory, so cwd-relative paths work as expected
// no matter where we actually lift from.
// > Note: This is not required in order to lift, but it is a convenient default.
process.chdir(__dirname);
// #6106 Implement proxy settings for backend
require('dotenv').config();
const { bootstrap } = require('global-agent')
bootstrap()
// Attempt to import `sails` dependency, as well as `rc` (for loading `.sailsrc` files).
let sails;
let rc;
try {
sails = require('sails');
rc = require('sails/accessible/rc');
} catch (err) {
console.error('Encountered an error when attempting to require(\'sails\'):');
console.error(err.stack);
console.error('--');
console.error('To run an app using `node app.js`, you need to have Sails installed');
console.error('locally (`./node_modules/sails`). To do that, just make sure you\'re');
console.error('in the same directory as your app and run `npm install`.');
console.error();
console.error('If Sails is installed globally (i.e. `npm install -g sails`) you can');
console.error('also run this app with `sails lift`. Running with `sails lift` will');
console.error('not run this file (`app.js`), but it will do exactly the same thing.');
console.error('(It even uses your app directory\'s local Sails install, if possible.)');
return;
}// -•
const path = require('path');
const fs = require('fs')
const locales = fs.readdirSync(path.join(__dirname, './config/locales')).map(f=>f.replace('.json',''))
const i18n = new (require('i18n-2'))({
locales,
directory: path.join(__dirname, './config/locales'),
extension: '.json'
});
const { vsprintf } = require('sprintf-js');
sails._t = function (locale) {
locale = locales.includes(locale)? locale: 'en'
let msg = i18n.translate(locale, arguments[1]);
if (arguments.length > 2) {
msg = vsprintf(msg, Array.prototype.slice.call(arguments, 2));
}
return msg;
};
// Start server
sails.lift(rc('sails'));