소개
게시글
질문&답변
2020.04.09
npm run build 가 되지 않습니다.
공유해주신 tidory 공식 문서 링크를 참고하여 말씀해주신 것처럼 ts_session, url, mode 를 설정한 뒤, npm run build, npm run deploy, npm run store 명령어가 성공적으로 작동하는 것을 확인하였습니다. 😀 그런데 이상하게도 유독 npm run preview만 실행이 되지 않아 다시 질문드립니다. package.json { "scripts": { "start": "cross-env NODE_ENV=development tidory start", "preview": "cross-env NODE_ENV=development tidory preview", "build": "cross-env NODE_ENV=production tidory build", "build:compress": "cross-env NODE_ENV=build tidory build --compress", "deploy": "tidory deploy", "store": "tidory store" }, "license": "MIT", "repository": { "type": "git", "url": "https://github.com/tidory/tidory" }, "devDependencies": { "cheerio": "^1.0.0-rc.2", "cross-env": "^7.0.2", }, "dependencies": { "@tidory/example": "github:tidory/example", "tidory": "^7.2" } } tidory.config.js /** * Tidory Configuration * https://tidory.com/docs/configuration/ */ module.exports = { /** * Tistory session cookie value (임의의 session 값으로 변경하였습니다.) */ ts_session: '21938cjadf212312031283dal329ms29malsdkfaa', /** * Tistory blog URL (임의의 tistory 블로그 주소로 변경하였습니다.) */ url: 'https://johndoe.tistory.com/', /** * Preview */ preview: { /** * Preview Mode * * index * entry * category * tag, * location * media, * guestbook */ mode: 'index' }, /** * Template aliases */ alias: { // as String '@styl': 'assets/styl', // as Function '@md': fn => fn.replace(/^@md/, 'assets/md') }, extends (webpackConfig) { webpackConfig.module.rules.push({ test: /.styl(us)?$/, use: [ 'vue-style-loader', 'css-loader', 'stylus-loader' ] }) } } index.pug extends app block TIDORY div#app //- Using Vue Component hello-world(title="[##_title_##]") assets/components/hello-world.vue template> h1>{{ title }}h1> template> script> export default { props: ['title'] } script> assests/styl/app.js import Vue from 'vue' Vue.component( 'hello-world', require('./components/hello-world.vue').default ); new Vue({ el: '#app', }); npm run build 후 로컬서버 port 5501로 띄워 본 화면 (사진) npm run preview 명령어를 터미널에 입력 시 다음과 같은 컴파일 에러가 뜨는데요. > @ preview C:\tidory\second-app > cross-env NODE_ENV=development tidory preview Project is running at http://localhost:3000/ webpack output is served from / webpack: wait until bundle finished: / Error: Request failed with status code 428 at createError (C:\tidory\second-app\node_modules\axios\lib\core\createError.js:16:15) at settle (C:\tidory\second-app\node_modules\axios\lib\core\settle.js:18:12) at IncomingMessage.handleStreamEnd (C:\tidory\second-app\node_modules\axios\lib\adapters\http.js:202:11) at IncomingMessage.emit (events.js:333:22) at endReadableNT (_stream_readable.js:1220:12) at processTicksAndRejections (internal/process/task_queues.js:84:21) { config: { adapter: [Function: httpAdapter], transformRequest: { '0': [Function: transformRequest] }, transformResponse: { '0': [Function: transformResponse] }, timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, validateStatus: [Function: validateStatus], headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', Referer: 'https://johndoe.tistory.com/', Cookie: 'TSSESSION=21938cjadf212312031283dal329ms29malsdkfaa', 'User-Agent': 'axios/0.18.1', 'Content-Length': 812 }, method: 'post', baseURL: 'https://johndoe.tistory.com/', url: 'https://johndoe.tistory.com/manage/design/skin/html.json', data: '{"html":"[##_page_title_##]\\n","css":"","isPreview":true}' }, request: ClientRequest { _events: [Object: null prototype] { socket: [Function (anonymous)], abort: [Function (anonymous)], aborted: [Function (anonymous)], error: [Function (anonymous)], timeout: [Function (anonymous)], prefinish: [Function: requestOnPrefinish] }, _eventsCount: 6, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: null, _hasBody: true, _trailer: '', finished: true, _headerSent: true, socket: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, _SNICallback: null, servername: 'https://johndoe.tistory.com/', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 9, connecting: false, _hadError: false, _parent: null, _host: 'https://johndoe.tistory.com/', _readableState: [ReadableState], readable: true, _maxListeners: undefined, _writableState: [WritableState], writable: false, allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: [Circular *1], [Symbol(res)]: [TLSWrap], [Symbol(asyncId)]: 1497, [Symbol(kHandle)]: [TLSWrap], [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: null, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(kCapture)]: false, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(connect-options)]: [Object] }, _header: 'POST /manage/design/skin/html.json HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'Content-Type: application/json\r\n' + 'Referer: https://johndoe.tistory.com//\r\n' + 'Cookie: TSSESSION=21938cjadf212312031283dal329ms29malsdkfaa\r\n' + 'User-Agent: axios/0.18.1\r\n' + 'Content-Length: 812\r\n' + 'Host: johndoe.tistory.com\r\n' + 'Connection: close\r\n' + '\r\n', _onPendingData: [Function: noopPendingOutput], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object], requests: {}, sockets: [Object], freeSockets: {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: undefined, method: 'POST', maxHeaderSize: undefined, path: '/manage/design/skin/html.json', _ended: true, res: IncomingMessage { _readableState: [ReadableState], readable: false, _events: [Object: null prototype], _eventsCount: 3, _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 0, httpVersion: '1.0', complete: true, headers: [Object], rawHeaders: [Array], trailers: {}, rawTrailers: [], aborted: false, upgrade: false, url: '', method: null, statusCode: 428, statusMessage: 'Precondition Required', client: [TLSSocket], _consuming: false, _dumped: false, req: [Circular *1], responseUrl: 'https://johndoe.tistory.com/manage/design/skin/html.json', redirects: [], [Symbol(kCapture)]: false }, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, _redirectable: Writable { _writableState: [WritableState], writable: true, _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, _options: [Object], _redirectCount: 0, _redirects: [], _requestBodyLength: 812, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *1], _currentUrl: 'https://johndoe.tistory.com/manage/design/skin/html.json', [Symbol(kCapture)]: false }, [Symbol(kCapture)]: false, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'content-type': [Array], referer: [Array], cookie: [Array], 'user-agent': [Array], 'content-length': [Array], host: [Array] } }, response: { status: 428, statusText: 'Precondition Required', headers: { date: 'Thu, 09 Apr 2020 12:00:04 GMT', server: 'Apache', 'x-ua-compatible': 'IE=Edge', 'cache-control': 'no-cache, private', 'content-length': '112', 'content-type': 'text/html; charset=UTF-8' }, config: { adapter: [Function: httpAdapter], transformRequest: [Object], transformResponse: [Object], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, validateStatus: [Function: validateStatus], headers: [Object], method: 'post', baseURL: 'https://johndoe.tistory.com/', url: 'https://johndoe.tistory.com/manage/design/skin/html.json', data: '{"html":"[##_page_title_##]\\n","css":"","isPreview":true}' }, request: ClientRequest { _events: [Object: null prototype], _eventsCount: 6, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: null, _hasBody: true, _trailer: '', finished: true, _headerSent: true, socket: [TLSSocket], _header: 'POST /manage/design/skin/html.json HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'Content-Type: application/json\r\n' + 'Referer: https://johndoe.tistory.com/\r\n' + 'Cookie: TSSESSION=21938cjadf212312031283dal329ms29malsdkfaa\r\n' + 'User-Agent: axios/0.18.1\r\n' + 'Content-Length: 812\r\n' + 'Host: johndoe.tistory.com\r\n' + 'Connection: close\r\n' + '\r\n', _onPendingData: [Function: noopPendingOutput], agent: [Agent], socketPath: undefined, method: 'POST', maxHeaderSize: undefined, path: '/manage/design/skin/html.json', _ended: true, res: [IncomingMessage], aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, _redirectable: [Writable], [Symbol(kCapture)]: false, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] }, data: { message: 'HTML 또는 CSS 내용이 없거나 너무 짧습니다.' } } } (node:14628) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined at TistorySkin.request (C:\tidory\second-app\node_modules\tistory-skin\lib\RemoteController.js:40:21) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async TistorySkin.change (C:\tidory\second-app\node_modules\tistory-skin\lib\TistorySkin.js:58:22) at async module.exports (C:\tidory\second-app\node_modules\tidory\lib\html.js:32:5) at async Compilation. (C:\tidory\second-app\node_modules\tidory\lib\tidory-webpack-plugin.js:56:31) (node:14628) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) (node:14628) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 특히 data: { message: 'HTML 또는 CSS 내용이 없거나 너무 짧습니다.' } 라는 부분이 이해가 잘 가지 않아 질문드립니다. preview 기능을 사용하기 위해 추가적으로 설정해야 할 부분이 있거나, 혹여 제가 잘못 설정하고 넘어간 부분이 있다면 알려주시면 추가하도록 하겠습니다. 감사합니다. 🙂
- 0
- 3
- 888
질문&답변
2020.04.08
npm start 가 되지 않습니다.
말씀해주신대로 티도리 프로젝트 템플릿 (second-app)을 C:\tidory\ 로 옮겨서 npm start 명령어를 다시 시도해보았더니 아래와 같이 프로젝트 첫 화면을 확인할 수 있었습니다. 늦은 시간까지 도움 주셔서 감사합니다! 😊 $ npm start > @ start C:\tidory\second-app > cross-env NODE_ENV=development tidory start Project is running at http://localhost:8080/ webpack output is served from / webpack: wait until bundle finished: / webpack: Compiled successfully. (사진)
- 0
- 4
- 4.1K
질문&답변
2020.04.08
npm start 가 되지 않습니다.
빠른 답변 감사합니다! 예전에 windows OS에서 nvm을 설치하다가 이와 비슷한 경우가 있었어서 github issue 에 있는 comment를 뒤져서 해결했던 적이 있었는데요. 당시 참고했던 url: https://github.com/coreybutler/nvm-windows/issues/41#issuecomment-464799741 cmd 창을 관리자 권한으로 실행한 다음, dir /? 와 dir /X 명령어를 입력해줘서 경로를 구했었습니다. C:\Users>dir /? 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여 줍니다. ( 자체 생략 ... ) /X 8dot3 파일 이름이 아닌 파일에 대한 짧은 이름을 보여 줍니다 이 형식은 긴 이름 앞에 짧은 이름이 추가된 것으로 /N 포맷과 같습니다. 짧은 이름이 없으면 공백을 보여 줍니다. /4 4자릿수 연도를 표시합니다. 스위치를 DIRCMD 환경 변수로 미리 설정할 수 있습니다. 하이픈(-)을 스위치 앞에 접두사로 붙이면 미리 설정된 스위치를 재정의합니다(예, /-W). C:\Users>dir /X C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 846D-6E73 C:\Users 디렉터리 2020-01-04 오전 12:33 . 2020-01-04 오전 12:33 .. 2019-09-06 오전 01:27 Public 2020-01-19 오후 10:53 JOHN~1 John Doe 0개 파일 0 바이트 4개 디렉터리 156,419,928,064 바이트 남음 당시 nvm의 경우 root 경로 아래에 setting.txt 파일이 있어서 그곳의 root 경로를 수정해주는 것을 통해 에러를 해결했었는데요. $ nvm root Current Root: C:\Users\JOHN~1\AppData\Roaming\nvm create-tidory-app의 경우, 혹시 어디에서 프로젝트 경로를 수정하면 되는 것인지 알려주시면 감사하겠습니다. 현재 create-tidory-app 설치 경로 C:\Users\JOHN~1\AppData\Roaming\nvm\v13.6.0\node_modules\create-tidory-app 해당 create-tidory-app 경로 아래에 파일 $ ls -a . create-tidory-app create-tidory-app.ps1 node_modules npm.cmd npx.cmd .. create-tidory-app.cmd node.exe npm npx 감사합니다 😊
- 0
- 4
- 4.1K
질문&답변
2020.01.04
비디오 업로드 FORM 만들기(1) 에서 Sign Up 이 되지 않습니다 ㅠㅠ
빠른 답변 감사합니다! 말씀해 주신대로 root 디렉토리 아래 package.json 파일에 있는 기존 코드를 지우고, 위에 적어주신 코드를 그대로 복사 & 붙여넣기 한 다음, 동일한 root 디렉토리 경로에서 npm install 을 한번 더 실행 해준 뒤, npm run dev를 하였더니 정상적으로 페이지로딩/회원가입/로그인이 되었습니다. (사진) 다시 한번 친절하게 답변해주셔서 감사합니다! 완강 목표로 열심히 수강하겠습니다 :)
- 0
- 4
- 422