Import repo
Login to https://vercel.com/login with github account
Navigate to https://vercel.com/new
Create new application and import exists git repository
Configure Project
FRAMEWORK PRESET
Other
BUILD COMMAND
npm run nx -- build server
OUTPUT DIRECTORY
/dist/apps/server/
INSTALL COMMAND
npm i --force
Click to Deploy
Check deployed files
After it we have static site with nodejs code) as netfly
endy@endy-virtual-machine:~/Projects/current/kaufman-bot$ curl https://kaufman-bot.vercel.app/main.js /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./apps/server/src/app/app.controller.ts": /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _a; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AppController = void 0; const tslib_1 = __webpack_require__("tslib"); const common_1 = __webpack_require__("@nestjs/common"); const app_service_1 = __webpack_require__("./apps/server/src/app/app.service.ts"); let AppController = class AppController { constructor(appService) { this.appService = appService; } getData() { return this.appService.getData(); } }; tslib_1.__decorate([ common_1.Get(), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", []), tslib_1.__metadata("design:returntype", void 0) ], AppController.prototype, "getData", null); AppController = tslib_1.__decorate([ common_1.Controller(), tslib_1.__metadata("design:paramtypes", [typeof (_a = typeof app_service_1.AppService !== "undefined" && app_service_1.AppService) === "function" ? _a : Object]) ], AppController); exports.AppController = AppController; /***/ }), /***/ "./apps/server/src/app/app.module.ts": /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AppModule = void 0; const tslib_1 = __webpack_require__("tslib"); const common_1 = __webpack_require__("@nestjs/common"); const app_controller_1 = __webpack_require__("./apps/server/src/app/app.controller.ts"); const app_service_1 = __webpack_require__("./apps/server/src/app/app.service.ts"); let AppModule = class AppModule { }; AppModule = tslib_1.__decorate([ common_1.Module({ imports: [], controllers: [app_controller_1.AppController], providers: [app_service_1.AppService], }) ], AppModule); exports.AppModule = AppModule; /***/ }), /***/ "./apps/server/src/app/app.service.ts": /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AppService = void 0; const tslib_1 = __webpack_require__("tslib"); const common_1 = __webpack_require__("@nestjs/common"); let AppService = class AppService { getData() { return { message: 'Welcome to server!' }; } }; AppService = tslib_1.__decorate([ common_1.Injectable() ], AppService); exports.AppService = AppService; /***/ }), /***/ "@nestjs/common": /***/ ((module) => { module.exports = require("@nestjs/common"); /***/ }), /***/ "@nestjs/core": /***/ ((module) => { module.exports = require("@nestjs/core"); /***/ }), /***/ "tslib": /***/ ((module) => { module.exports = require("tslib"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. (() => { var exports = __webpack_exports__; /** * This is not a production server yet! * This is only a minimal backend to get started. */ Object.defineProperty(exports, "__esModule", ({ value: true })); const tslib_1 = __webpack_require__("tslib"); const common_1 = __webpack_require__("@nestjs/common"); const core_1 = __webpack_require__("@nestjs/core"); const app_module_1 = __webpack_require__("./apps/server/src/app/app.module.ts"); function bootstrap() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const app = yield core_1.NestFactory.create(app_module_1.AppModule); const globalPrefix = 'api'; app.setGlobalPrefix(globalPrefix); const port = process.env.PORT || 3333; yield app.listen(port); common_1.Logger.log(`🚀 Application is running on: http://localhost:${port}/${globalPrefix}`); }); } bootstrap(); })(); var __webpack_export_target__ = exports; for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i]; if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true }); /******/ })() ; //# sourceMappingURL=main.js.map
(Failure)
It was the wrong way, I'll choose another :)
Create Vercel config for correct deploy as nodejs app
Create file vercel.json in root
{ "version": 2, "name": "kaufman-bot", "builds": [ { "src": "dist/apps/server/main.js", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "dist/apps/server/main.js" } ] }
(Failure)
It was the wrong way, I'll choose another :)
Try change config in package.json for correct build
Change scripts in package.json
"scripts": { "nx": "nx", "start": "node dist/apps/server/main.js", "build": "npm run nx -- build server", "test": "nx test" },
Remove all deploy configs from settings in vercel dashboard
Remove builds from vercel config file
{ "version": 2, "name": "kaufman-bot", "routes": [ { "src": "/(.*)", "dest": "dist/apps/server/main.js" } ] }
(Failure)
It was the wrong way, I'll choose another :)
Top comments (0)