๋ฐฉ๊ธ 8.0.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋๋ฐ ์ ๋ง ๊ธฐ์ฉ๋๋ค! ๋ด ํ๋ก์ ํธ๊ฐ ์ปดํ์ผ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ฐ๋ผ์ dev
๋ฅผ ์คํํ ๋ ๋ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
You may need an appropriate loader to handle this file type.
|
|
> import('./noop');
| var _window = window,
| assetPrefix = _window.__NEXT_DATA__.assetPrefix;
webpack 4.29.0
์์ ์ค๋ ๊ฒ ๊ฐ์ต๋๋ค( ์ฌ๊ธฐ ์ฐธ์กฐ ).
acorn": "^6.0.5
๋ฅผ ์ข
์์ฑ์ผ๋ก ์ ์ธํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ง๋ง ๋ง์คํฐ ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด๊ฐ ๋๋ฌด ๋นจ๋ฆฌ ์ ๊ทธ๋ ์ด๋ํ ๊ฒ์ ์๋๊น?
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ค. ๊ฐ๋ฐ ๋ชจ๋๋ฅผ ์์ํ ์ ์์ต๋๋ค. npm์ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํ๊ณ ๋ํ ๋ฆฌ ํจํค์ง๋ ์ค์นํด ๋ณด์์ง๋ง ์์ฉ์ด ์์์ต๋๋ค.
@timneutkens
๊ทผ๋ณธ ์์ธ์ด ๊ฐ์ ์ ์๋ ๊ฐ์ ธ์ค๊ธฐ์ ๊ด๋ จ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ์์ต๋๋ค.
/Users/andrewingram/Repositories/tego/website-next/node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js:1
(function (exports, require, module, __filename, __dirname) { import _Symbol$iterator from "../../core-js/symbol/iterator";
^^^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
[email protected] ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ์์ ๋๋ค.
@AndrewIngram ๋ณต์ ํ ์ ์ ๊ณตํ ์ ์์ต๋๊น? ๊ทธ ๋ด์ฉ์ด ๊ถ๊ธํฉ๋๋ค. webpack์ด ์๋ @babel/runtime๊ณผ ๊ด๋ จ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ๊ฐ์ ์ค๋ฅ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. acorn
๋ฅผ ์ค์นํด๋ ์๋ํ์ง ์์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ ๋ ์ต์คํ๋ ์ค ์๋ฒ๋ฅผ ์คํํ๊ธฐ ์ํด ts-node
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋๋ฅผ ์ํด ์ด๊ฒ์ @babel/core๋ฅผ ์ ๊ทธ๋ ์ด๋ํ์ฌ ์์ ๋์์ต๋๋ค.
- "@babel/core": "^7.1.0",
+ "@babel/core": "7.2.2",
์ด๋ค ์ด์ ๋ก ์ฐ๋ฆฌ๋ ํ์ฌ ์ง์ ์์กด์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋์ผํ ๋ฌธ์ ๋ฐ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ฐ์ํฉ๋๋ค. @babel/core
๋ "7.2.2"
๋ก ์ค์ ๋์ด ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋์ง ์์ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ํ ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํด ์ค๋ ๋๋ฅผ ๋ฐ๋์ต๋๋ค.
next build
ํฌํจ)์ด ์ ๋๋ก ๋น๋๋๊ณ ์คํ๋ฉ๋๋ค.์ค๋ ๋์ ๋งํฌ๋ ๋ฌธ์ ์ ๋ฐ๋ผ [email protected]
๋ฐ @babel/[email protected]
๋ฅผ devDependancies๋ก ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
(์ง์ ์์กดํ์ง ์๋ ๋ํ ๋ฆฌ ํจํค์ง์ ๋ํ ์ค๋ฅ๋ ํด๊ฒฐํ์ต๋๋ค.)
webpack
๋ฐ @babel/core
์
๋ฐ์ดํธ ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ด package-lock.json
๋ฐ node_modules
์ ์ ๊ฑฐํ๊ณ ์๋ก ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋ถํํ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ณต์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://github.com/jescalan/nextjs-test/tree/je.canary
์ ์ ๋น๋ ๋ฐ ๋ด๋ณด๋ด๊ธฐ๋ ํ๋ฅญํ๊ฒ ์๋ํฉ๋๋ค. ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๊ฐ๋ฐ ๋ชจ๋์ผ ๋ฟ์ ๋๋ค. babel๋ webpack๋ ์ข ์์ฑ์ผ๋ก ์ค์น๋์ง ์์ต๋๋ค.
package-lock.json
๋ฅผ ์ ๊ฑฐํ๊ณ ์ฌ์์ฑํ์ฌ ์์ ํ์ต๋๋ค. ํด๋น ๋ถ๊ธฐ์ ๋ง์ง๋ง ์ปค๋ฐ์ package-lock.json
์ ๋ํ ์
๋ฐ์ดํธ๋ฅผ ๋ณด์ฌ์ค๋๋ค. -- ์ด๊ฒ์ด ์์ธ์ ์ฐพ๋ ๋ฐ ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค!
node_modules
๋ฐ package-lock.json
๋ฅผ ์ ๊ฑฐํ ๋ค์ ๋ค์ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋์์ต๋๋ค.
node_modules
๋ฐ package-lock.json
๋ฅผ ์ญ์ ํด๋ ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ง๋ง @iaincollins ๊ฐ ์ ์ํ ๋๋ก [email protected]
๋ฅผ ๊ฐ๋ฐ์ ์ข
์์ฑ์ผ๋ก ์ค์นํ๋ฉด ํด๊ฒฐ๋์์ต๋๋ค.
๋ํ ์ด ๋ฌธ์ ๊ฐ ์์ง๋ง ์ด ํจํค์ง ์ธ๋ถ์ ์์ต๋๋ค. ๋ ๋ฎ์ ๋ฒ์ ์ ๋ ธ๋(v9.11[๋๋ฃ ์์ ๋ฒ์ ]๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ณ [email protected]๋ฅผ ์ค์นํ๊ณ node_modules ๋ฅผ ๋ค์ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๊ทผ๋ณธ ์์ธ์ด ๊ฐ์ ์ ์๋ ๊ฐ์ ธ์ค๊ธฐ์ ๊ด๋ จ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ์์ต๋๋ค.
/Users/andrewingram/Repositories/tego/website-next/node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js:1 (function (exports, require, module, __filename, __dirname) { import _Symbol$iterator from "../../core-js/symbol/iterator"; ^^^^^^^^^^^^^^^^ SyntaxError: Unexpected identifier
[email protected] ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ์์ ๋๋ค.
๋ณต์กํ ํ๋ก์ ํธ์์ @AndrewIngram ๊ณผ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ํ๋ก๋์
์ฉ์ผ๋ก ์ปดํ์ผํ ๋๊ฐ ์๋๋ผ ๊ฐ๋ฐ ๋ชจ๋์ [email protected]
์๋ง ๋ํ๋ฉ๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ์ ๋ถ๋ช์ณค๋ค. node_modules
๋ฐ package-lock.json
๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ฉด _did_ ํด๊ฒฐ๋ฉ๋๋ค. ์ผ๋ถ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์ฌ์ค์นํ๊ธฐ ์ ์ ๋๋ ํ ๋ฆฌ์ ์ ๊ธ ํ์ผ์ ๋ชจ๋ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
TypeScript ํ์ผ์์ ๋์ผํ ๋์์ด ์์ต๋๋ค.
error in ./stores/index.ts
Module parse failed: Export 'IStore' is not defined (77:9)
You may need an appropriate loader to handle this file type.
| return Store;
| };
> export { IStore, IStoreSnapshotIn, IStoreSnapshotOut };
@ ./pages/_app.tsx 16:0-37 38:24-32 83:18-26
@icflorescu ๋ช ํํ ์ฌ์์ฐ ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ ์กฐ์ฌํ ์ ์๋๋ก ํ๋๋ฅผ ์ ๊ณตํ์ญ์์ค ๐
@icflorescu ์ด ๋ฌธ์ ์ ๋์ผํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ฌธ์ (๋ณต์ ํฌํจ)๋ฅผ ๋ง๋ค ์ ์์ต๋๊น ๐
@timneutkens ์ง๋ ๋ฐค์ ๋ด ๋ฌธ์ ๊ฐ #6273์ ์ํด ๋ฐ์ํ๋ค๋ ๊ฒ์ ๋ง์นจ๋ด ๋ฐ๊ฒฌํ์ต๋๋ค.
ํด๋น ์ค๋ ๋์์ ์ธ๊ธํ๋ฏ์ด next/babel
์ฌ์ ์ค์ ์ ['next/babel', { 'transform-runtime': { useESModules: false } }]
๋ก ์์ ํ๋ฉด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ค.
ํธ์ง: ๋ฐฉ๊ธ ํ ์คํธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๊ฒ์ํ์ต๋๋ค. #6273์ ํ ๋ก ์ ์ฐธ์กฐํ์ธ์.
์ ๊ฒฝ์ฐ์๋ node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์์ ํ ๋ค์ ์ค์นํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ชจ๋์ ๋ด๋ถ ์ข ์์ฑ ๋ฐ ๋จ์ ๋ชจ๋๊ณผ ๊ด๋ จ๋ ์ ์์ต๋๋ค.
๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค(๋์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฌ์ฉํ ๋๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. Spectrum https://spectrum.chat/users/matthew-rapati?thread=c677c233-8b02-447f-aff0-97b3399a493f์ ๋ํด ์ผ์ต๋๋ค).
node_modules, package-lock.json์ ์ ๊ฑฐํ๊ณ npm ์บ์๋ฅผ ์ง์ฐ๋ ค๊ณ ์๋ํ์ง๋ง ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๊ธฐํ๊ฐ ๋๋ค๋ฉด ๋ฌธ์ ์ ์์ ์ฌํ์ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
acorn
๋ฅผ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์ด๋ฏธ ์นด๋๋ฆฌ์์ ๋ณํฉ๋์์ง๋ง ์์ง ๋ง์คํฐ์๋ ๋ณํฉ๋์ง ์์์ต๋๋ค. https://github.com/zeit/next.js/pull/6137
Next.js์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
๋ด๊ฐ ์ผํ๋ ๊ณณ์์ ์ด๊ฒ์ ๋ค์ 8๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํ ๋ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
Yarn์ ์ฌ์ฉํ์ฌ ์ข ์์ฑ์ ์ค์นํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ด์์ต๋๋ค. ์ด์ํด.
์, ์ฌ๊ธฐ ์ฐ์น ์ฝค๋ณด๊ฐ ์์ต๋๋ค(100% ์ฌํ ๊ฐ๋ฅํด์ผ ํจ).
๋ด ํ๋ก์ ํธ์๋ ์ด๋ฏธ ๋ค์ v7์ด ์์ต๋๋ค.
npm install next@latest
-> ๋ค์ v8.0.1์ ์ค์นํ์ง๋ง ๋ํ ๋ฆฌ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช
๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install acorn
npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช
๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install next@latest
-> ๊ฒฝ๊ณ ์์npm run dev
์๋ํฉ๋๋ค!!! ๐๊ฒฐ๋ก
์ด์ ๋ ๋ค์ ์ ์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์
๋๋ค
์ผ์ข ์ ์์กด์ฑ ํด๊ฒฐ์ด์์๊น? ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ @vasco3 .
์ด๊ฒ์ v8.0.0-canary.11
์ v8.0.0-canary.12
https://github.com/zeit/next.js/compare/v8.0.0-canary.11...v8.0.0-canary ์ฌ์ด์์ ์ง์ ๋ฐ์ํฉ๋๋ค.
@iaincollins ๊ฐ ์ ์ํ ๋๋ก [email protected]
๋ฐ @babel/[email protected]
๋ฅผ devDependencies๋ก ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋ฉ๋๋ค.
๋ค์ 8.0.2์ ํจ๊ป ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. ๋ํ ๋ฆฌ๋ package.json์์ ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
ํ์ธ๋จ: 8.0.3์ด ์ด ๋ฌธ์ ๋ฅผ ์์ ํจ
@vasco3 ์ ๊ถ์ฅ ์ฌํญ์ ์๋ํ๊ณ ๋ค์ AFTER ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ ๋๊น์ง dev ์คํ ๋ฌธ์ ๋ ๋ค์ 8.0.3์์ ๊ณ์ ๋ฐ์ํ์ต๋๋ค. ์ด์ํ...
Acorn ์์ด 8.0.3์ ์คํํ์ต๋๋ค.
NPM์ด ๋ค์์ ์๋ชป ์บ์ฑํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด node_modules
ํด๋๋ฅผ ์ญ์ ํ๊ณ package-lock
npm i
$๋ฅผ ๋ค์ ์คํํด๋ ๋ฌธ์ ๊ฐ ์ง์๋ฉ๋๋ค. ์ค์ ๋ก NPM CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ ๊ฑฐํ๋ฉด ์บ์์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๊ฑฐ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ Acorn ์์ด ๋ค์ ์ค์นํ ํ์๋ ์คํ ์ค์
๋๋ค.
@Soundvessel ๊ณผ ๋์ผ
$ next@8
acorn
์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
npm ci
npm i -S acorn<strong i="10">@latest</strong>
npm i -S next<strong i="11">@latest</strong>
@Magellol npm ci
์ดํ์ ๊ฐ๋ฐ ๋ชจ๋๋ฅผ ์คํํด ๋ณด์
จ์ต๋๊น? ๋ด ๋ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ๋ณด๋ฉด node_modules
์ธ๋ถ์ ์บ์๋ ๋ฒ์ ์ด ๋ฌธ์ ์ ์์ธ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ npm ๋ช
๋ น์ค์ ์ฌ์ฉํ์ฌ ๋ค์์ ์ ๋๋ก ์ ๊ฑฐํ ํ 8.0.3 _without_ acorn์ผ๋ก ๊ฐ๋ฐ ๋ชจ๋๋ฅผ ์คํํ ์ ์์์ต๋๋ค. npm ci
์๋ก ์ค์นํ๋ฉด ๊ฐ๋ณ ํจํค์ง๋ฅผ ์ค์น/์ ๊ฑฐํ์ง ์๊ณ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
@Soundvessel ๋ํ ๋ฆฌ๋ฅผ ๋ช
์์ ์ผ๋ก ์ค์นํ์ง ์์ผ๋ฉด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ๋ค๋ฅธ ๋จ๊ณ์์ npm ci
์ ๋ชจ๋ ์ข
๋ฅ์ ์ฝค๋ณด๋ฅผ ์๋ํ์ต๋๋ค.
https://github.com/zeit/next.js/issues/6240#issuecomment -466549203 ๋ง์ด ๋ด๊ฐ ์๋ํ๊ฒ ๋ง๋ค ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์
๋๋ค. ๋ํ yarn
๋ฅผ ์ฌ์ฉํ๋ฉด acorn
๋ฅผ ๋ช
์์ ์ผ๋ก ์ถ๊ฐํ ํ์ ์์ด ์์ ๋ฉ๋๋ค.
@vasco3 ๊ทํ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๊ฐ์ฌ ํด์. :+1:
๋ช
ํํํ๊ธฐ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ Acorn์ด ํ์ํ์ง ์์์ต๋๋ค. node_modules
๋ฅผ ์ญ์ ํ๋ ๋์ ๋ช
๋ น์ค์ ์ฌ์ฉํ์ฌ Next๋ฅผ ์ ๊ฑฐํด ๋ณด์ญ์์ค.
npm uninstall --save next
npm install --save next<strong i="7">@latest</strong>
๋ค์์ ์ ๊ฑฐํ๊ธฐ ์ํด ๋ช
๋ น์ค์ ์ฌ์ฉํ๋ฉด node_modules
์ธ๋ถ์ NPM ์บ์์์ ๋ฌธ์ ์ ์์ธ์ด ์ ๊ฑฐ๋๋ค๊ณ ๋ฏฟ์ต๋๋ค.
๋ํ Node ๋ฐ NPM์ ๋ฏธ๋ฆฌ ์ ๋ฐ์ดํธํ์ง๋ง ์ ๋๋ก ๋ค์ ์ค์นํ ๋๊น์ง ๋์์ด ๋์ง ์์์ต๋๋ค.
npm ์บ์์ ๋ํด ๊ฑฑ์ ํ๋ ๋์ .next
๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํด ๋ณด์ญ์์ค.
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
.next/
์ ๋จ์ ์์ด import('./noop'); ์ฌ์ค์น์๋ ๋ถ๊ตฌํ๊ณ ์ค๋ฅnode_modules
๋ฐ .next
์ ๊ฑฐnext build
๋ฅผ ์คํํ๋ฉด next
dev๊ฐ ์คํจํ ์ ์์ง๋ง next build
๋จผ์ ์คํํ์ง ์์ผ๋ฉด ์๋ํฉ๋๋ค.
next
dev๋ฅผ ์คํํ๋ฉด ์ค๋ฅ๊ฐ ํ์๋์ง ์์ต๋๋ค.next build
๋ฅผ ์คํํ ๋ค์ next
dev๋ฅผ ์คํํ๋ฉด ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.๋ค๋ฅธ ๋ชจ๋์ ์ ๋ฐ์ดํธํ ํ ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํ์ต๋๋ค.
๋ด ์ฌ์ฉ์ ํด๋์์ /.next
, / node_modules
, package-lock.json
๋ฐ /npm-cache/
๋ฅผ ์ญ์ ํ ๋ค์ npm i
๋ฅผ ๋ค์ ์คํํ๋๋ฐ ์ค๋ฅ๊ฐ ์ง์๋์์ต๋๋ค.
์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํฌ๊ธฐํ๊ณ acorn
๋ฅผ ๋ด ์ข
์์ฑ์ ์ถ๊ฐํ์ต๋๋ค.
์ด ์ค๋ฅ์ "๋ฐ๋ณต์" ๋ฒ์ ์ ๊ฐ์ ธ์ค๋ ์ค์ ๋๋ค. ์์ ์ด๋ ๊ฒ๋ ๋์์ด๋์ง ์์์ต๋๋ค.
/Users/username/Sandboxes/mynext/node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js:1
(function (exports, require, module, __filename, __dirname) { import _Symbol$iterator from "../../core-js/symbol/iterator";
์๊ตฌ ์ฌํญ:
1) ES ๋ชจ๋์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ server.js
.
2) .babelrc:
{
"presets": [
"@babel/preset-env",
"next/babel",
],
}
3) ํจํค์ง.json
{
"name": "nownext",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "7.2.2",
"@babel/node": "^7.2.2",
"@babel/preset-env": "^7.3.4",
"acorn": "^6.1.1",
"express": "^4.16.4",
"next": "^8.0.3",
"react": "^16.8.4",
"react-dom": "^16.8.4",
"webpack": "4.28.4"
},
"scripts": {
"dev": "babel-node server.js",
}
}
๊ทธ๋ฐ ๋ค์
$ babel-node server.js
์์ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ๋ผ์ ๋์ ๊ฐ์ ธ์ค๊ธฐ๋ ์๋๋๋ค. ์ ๊ฒฝ์ฐ์๋ ES ๋ชจ๋์ด NextJS์์ ์์ ํ ์๋์ ๋ฉ์ท์ต๋๋ค. @timneutkens ๋์์ด ๋๋ค๋ฉด ๋ฐ๋ชจ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ๋ก๋ํ ์ ์์ต๋๋ค.
@ivan-kleshnin ๊ทธ๊ฒ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ์ ๋๋ค: #6273 ์ด๊ฒ์ ์นด๋๋ฆฌ์์์ ์์ ๋์์ต๋๋ค.
package-lock.json ๋ฐ node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค. ๋๋ฅผ์ํ ํด๊ฒฐ์ฑ ์ ์์ฌ๋ก ์ ํํ๋ ๊ฒ์ด ์์ต๋๋ค.
rm package-lock.json
rm -rf node_modules
yarn dev
์ค๋ฅ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค!
https://github.com/zeit/next-learn-demo/tree/master/E2-lazy-loading-modules์์ ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๊ณ ํ ๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. [email protected] ์ npm dev ์ค์น๋ฅผ ์ํํ ํ ๋ค์ ์๋ํ๊ธฐ ์์ํ์ต๋๋ค.
https://github.com/zeit/next.js/issues/6940 ์์ ์์ ๋ฉ๋๋ค.
@vasco3 ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค:
npm install acorn
npm run dev // -> runs next and fails with the error described in this git issue
npm install next<strong i="7">@latest</strong> // -> no warnings
npm run dev // it works!!! ๐
๋๋ Yarn์ ์ฌ์ฉํ์ฌ ์ข ์์ฑ๋ ์ค์นํ์ผ๋ฉฐ ์๋ํฉ๋๋ค)
์, ์ฌ๊ธฐ ์ฐ์น ์ฝค๋ณด๊ฐ ์์ต๋๋ค(100% ์ฌํ ๊ฐ๋ฅํด์ผ ํจ).
๋ด ํ๋ก์ ํธ์๋ ์ด๋ฏธ ๋ค์ v7์ด ์์ต๋๋ค.
npm install next@latest
-> ๋ค์ v8.0.1์ ์ค์นํ์ง๋ง ๋ํ ๋ฆฌ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install acorn
npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install next@latest
-> ๊ฒฝ๊ณ ์์npm run dev
์๋ํฉ๋๋ค!!! ๐๊ฒฐ๋ก :
์ด์ ๋ ๋ค์ ์ ์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์ ๋๋ค
๊ฐ์ฌ ํด์! ์์๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ๋ค์ ํ ๋ฒ ์ฆ๋ช ํฉ๋๋ค! ๋๋ฅผ ๊ตฌํ๋ค.
์, ์ฌ๊ธฐ ์ฐ์น ์ฝค๋ณด๊ฐ ์์ต๋๋ค(100% ์ฌํ ๊ฐ๋ฅํด์ผ ํจ).
๋ด ํ๋ก์ ํธ์๋ ์ด๋ฏธ ๋ค์ v7์ด ์์ต๋๋ค.
npm install next@latest
-> ๋ค์ v8.0.1์ ์ค์นํ์ง๋ง ๋ํ ๋ฆฌ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install acorn
npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install next@latest
-> ๊ฒฝ๊ณ ์์npm run dev
์๋ํฉ๋๋ค!!! ํ๋ค๊ฒฐ๋ก :
์ด์ ๋ ๋ค์ ์ ์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์ ๋๋ค
์ด๊ฒ์ ๋์๊ฒ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค! :๋ฐ์:
์, ์ฌ๊ธฐ ์ฐ์น ์ฝค๋ณด๊ฐ ์์ต๋๋ค(100% ์ฌํ ๊ฐ๋ฅํด์ผ ํจ).
๋ด ํ๋ก์ ํธ์๋ ์ด๋ฏธ ๋ค์ v7์ด ์์ต๋๋ค.* `npm install next@latest` -> installs next v8.0.1 but warns about acorn * `npm run dev` -> runs next and fails with the error described in this git issue * `npm install acorn` * `npm run dev` -> runs next and fails with the error described in this git issue * `npm install next@latest` -> no warnings * `npm run dev` it works!!! ๐
๊ฒฐ๋ก :
์ด์ ๋ ๋ค์ ์ ์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์ ๋๋ค
๋๋ถ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๐๐
์ด ๋ฌธ์ ๋ ๊ณง ์นด๋๋ฆฌ์ ๋ธ๋์น์์ ์์ ๋ ์์ ์ ๋๊น?
@TidyIQ ๊ณง ์์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค! ์ด๊ฒ์ npm ๋ฒ๊ทธ ๋ผ๋ ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
@Timer webpack์ ์ด๋ฏธ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. https://github.com/webpack/webpack/pull/9370 ์ฐธ์กฐ
์ด๊ฒ์ ๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์์ง ์ ๊ธฐ๋ฅ์ผ๋ก ์์ ํ ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ์ด์ ์ฝ๋ ๊ธฐ๋ฐ์ ์ฒ๋ฆฌํ๊ณ ์ฌ์ ํ ํธ๋์คํ์ผ๋ ์๋ฒ๊ฐ ํ์ํฉ๋๋ค.
์์ ๋จ๊ณ๋ฅผ ์ํํ์ง๋ง ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค. ๋์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค./
Compiling client app.
Compiling server app.
[ error ] ./node_modules/next/dist/client/next-dev.js 23:6
Module parse failed: Unexpected token (23:6)
You may need an appropriate loader to handle this file type.
|
|
> import('./dev/noop'); // Support EventSource on Internet Explorer 11
|
| if (!window.EventSource) {
[ wait ] compiling ...
[ error ] ./node_modules/next/dist/client/next-dev.js 23:6
Module parse failed: Unexpected token (23:6)
You may need an appropriate loader to handle this file type.
|
|
> import('./dev/noop'); // Support EventSource on Internet Explorer 11
|
| if (!window.EventSource) {
2019-07-13T08:07:59.942Z app:server:log Connected to redis
2019-07-13T08:07:59.947Z app:server:log > Ready on http://localhost:3000
๋ ธ๋ ๋ชจ๋์ rm-ingํ๊ณ ๋ค์ ์ค์นํ์ฌ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ง๋ง ๋ชจ๋ ๊ฒ์ ๋ค์ ์ค์นํ์ง ์์ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ํน์ ํจํค์ง๊ฐ ์์ ์ ์์ต๋๋ค.
์ต์ข
ํด๊ฒฐ ๋จ๊ณ๋ rm package-lock.json
๋ฐ rm -rf node_modules
์ด๋ฉฐ ๋ค์ ์ค์นํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ Next 9์์๋ง ์์ ๋์๋ค๋ ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
@Timer [email protected] ๋ฅผ ์คํ ์ค์ธ๋ฐ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ ๋
ธ๋ ฅ ํ์ด:
1) ๋ค์์ ์ ๊ฑฐํ๊ณ yarn add acorn
๋ก ๋ํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋ค์ yarn next@latest
๋ฅผ ์คํํด๋ ์์ฉ์ด ์์ต๋๋ค.
2) ๋ชจ๋ node_modules ๋ฐ yarn.lock์ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์ฌ์ ํ ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ์์ต๋๊น? ๋๋ react-datepicker๋ก ๊ทธ๊ฒ์ ๊ฒฝํํ๊ธฐ ์์ํ์ต๋๋ค.
@Sm00g15 ๋ณต์ ํ์ด ์ ๊ณต๋์ง ์์ ๋ ๋์์ ๋๋ฆฌ๊ธฐ๊ฐ ์๋นํ ์ด๋ ต์ต๋๋ค. ์นํฉ์ ์๋์ผ๋ก ์ค์นํ๋์?
webpack
๋ฐ@babel/core
์ ๋ฐ์ดํธ ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ดpackage-lock.json
๋ฐnode_modules
์ ์ ๊ฑฐํ๊ณ ์๋ก ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ์ด ์๋ฃจ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๋๋ ๋ด ๋ฒ์ ์ Node๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ๋ค๋ฅธ Node.js ํ๋ก์ ํธ(Next.js๊ฐ ์๋)์์ ์์ ํ๊ณ ์์์ต๋๋ค. ์ด๊ฒ์ด ๋ฌธ์ ์ ์์ธ์ธ ๊ฒ ๊ฐ์ต๋๋ค. lock.json ๋ฐ node_modules๋ฅผ ์ ๊ฑฐํ ๋ค์ ํจํค์ง๋ฅผ ๋ค์ ์ค์นํ๋ ์๋ฃจ์ ์ด ์๋ฒฝํ๊ฒ ์๋ํ๋ ๊ฒฝ์ฐ. ๊ฐ์ฌ ํด์.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์, ์ฌ๊ธฐ ์ฐ์น ์ฝค๋ณด๊ฐ ์์ต๋๋ค(100% ์ฌํ ๊ฐ๋ฅํด์ผ ํจ).
๋ด ํ๋ก์ ํธ์๋ ์ด๋ฏธ ๋ค์ v7์ด ์์ต๋๋ค.
npm install next@latest
-> ๋ค์ v8.0.1์ ์ค์นํ์ง๋ง ๋ํ ๋ฆฌ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install acorn
npm run dev
-> ๋ค์์ ์คํ๋๊ณ ์ด ์์ ๋ฌธ์ ์ ์ค๋ช ๋ ์ค๋ฅ์ ํจ๊ป ์คํจํฉ๋๋ค.npm install next@latest
-> ๊ฒฝ๊ณ ์์npm run dev
์๋ํฉ๋๋ค!!! ๐๊ฒฐ๋ก
์ด์ ๋ ๋ค์ ์ ์ ๋ํ ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์ ๋๋ค