์ ๋ชฉ์ผ๋ก ๋ฌธ์ ,
๋ทฐ ๋ฒ์ : 2.5.15
์นํฉ ๋ฒ์ : 3.11.0
npm์ด build:sandbox๋ฅผ ์คํํ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ERROR in 98.145f98ef3cbd11bd2670.js from UglifyJs
Unexpected token: name (Point) [./node_modules/signature_pad/dist/signature_pad.m.js:6,0][98.145f98ef3cbd11bd2670.js:15,6]
Build failed with errors.
ES5 ์ฝ๋๋ง ์ฒ๋ฆฌํ๋ ์ด์ ๋ฒ์ ์ UglifyJS๋ฅผ ์ฌ์ฉ ์ค์ธ ๊ฒ ๊ฐ์ต๋๋ค. signature_pad.m.js
์ฝ๋๋ ES6+ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ UglifyJS ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ์ถ์ํ๋ ค๋ฉด ๋จผ์ Babel์ ์ฌ์ฉํ์ฌ ES5๋ก ์ปดํ์ผํด์ผ ํฉ๋๋ค. ์ด๋ฏธ ES5๋ก ์ปดํ์ผ๋ signature_pad.umd.js
์ฌ์ฉํ ์๋ ์์ต๋๋ค.
@ kevinchung1026 ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋๋ ๋๋ฌ๋ณด๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์นํฉ์ ์ถ๊ฐ ๊ท์น์ ์ถ๊ฐํ์ฌ ์์ ํ์ต๋๋ค.
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
}
}
],
},
์ฌ๋ฌ๋ถ์๊ฒ๋ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๐
์ด์ ๊ด์ฐฎ์, thx all
https://github.com/rollup/rollup/wiki/pkg.module ์ ๋ฐ๋ฅด๋ฉด package.json ํ์ผ์ module
ํ๋์ ์ง์ ๋ ๋ชจ๋ ํญ๋ชฉ์ ES2015 ๋ชจ๋ ๊ตฌ๋ฌธ๋ง ์ฌ์ฉํด์ผ ํ์ง๋ง ๋๋จธ์ง ์ฝ๋๋ ํจํค์ง์ ์ต์ ํ์ ๋ฒ์ ์ JS ํ๊ฒฝ ๊ตฌ๋ฌธ์ ๋ฐ๋ฆ
๋๋ค.
ํ์ฌ ์ด ๋ชจ๋์ webpack๊ณผ ํจ๊ป ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก module
์์ main
์ ํธํ๊ธฐ ๋๋ฌธ)(https://webpack.js.org/configuration/resolve/ ์ฐธ์กฐ). #resolve-mainfields)์์ ๋ค๋ฅธ ๋ชจ๋๊ณผ ๋์ผํ์ต๋๋ค. ๋ฐ๋ผ์ babel์ด node_modules ๋๋ ํ ๋ฆฌ์์ ํ๋ก์ ํธ ๋์์ผ๋ก ์ด ํน์ ๋ชจ๋์
browser
ํ๋๋ฅผ package.json์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ ์ ์์ต๋๋ค.
์ฌ๋ณด์ธ์!
์ ๋ Angular 2์ ์ด์ ๋ฒ์ ์ UglifyJS๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ uglifyJS + signature_pad์์ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์์ ๋ต๋ณ์ ํตํด ์๋ก์ด webpack ๊ท์น์ ์ถ๊ฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader'
}
],
}
๊ทธ๋ฆฌ๊ณ webpack 2์ ํจ๊ป ์ด์ babel loader๋ฅผ ์ฌ์ฉํด์ผ ํ์ต๋๋ค.
ํจํค์ง.json:
"devDependencies": {
....
"babel-core": "^5.4.7",
"๋ฐ๋ฒจ ๋ก๋": "^5.1.3"
}
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@ kevinchung1026 ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋๋ ๋๋ฌ๋ณด๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์นํฉ์ ์ถ๊ฐ ๊ท์น์ ์ถ๊ฐํ์ฌ ์์ ํ์ต๋๋ค.
์ฌ๋ฌ๋ถ์๊ฒ๋ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๐