예기치 않은 토큰: UglifyJs의 연산자(>)
2개의 Vue-Cli 웹 팩 프로젝트(ClientApp 및 Lib)가 있습니다.Lib는 내 컴포넌트 라이브러리(다른 프로젝트와 공유)
문제
프로젝트 Client App을 빌드할 때npm run build
, 다음의 에러가 발생했습니다.
ERROR in static/js/app.d08a24ce0e8d0438ce68.js from UglifyJs
Unexpected token: operator (>) [C:/.../Lib/src/tools/escape-key.js:3,0][static/js/app.d08a24ce0e8d0438ce68.js:17468,38]
문의사항
파일 내의 화살표 함수에서 오류가 발생한 것 같습니다.escape-key.js
이것은 ES6 구문과 Uglife입니다.JS가 해석할 수 없습니다.우글리피 전에 바벨이 먼저 해야 하지 않나요?는, 와의 호환성에 주의해 주세요.*.vue
파일을 표시합니다.
프로젝트 구조
ClientApp
| - build
| - config
| - src
| - App.Vue // import EscapeKey from '~lib/tools/escape-key';
Lib
| -src
| - tools
| - escape-key.js
ClientApp의 webpack.base.conf.js 파일
Lib에는 에일리어스가 있습니다.
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
'~lib': path.join(__dirname, '../../lib/src'),
}
},
자세한 내용은 필요하시면 언제든지 문의해 주십시오.
더하다
"uglifyjs-webpack-plugin": "v1.0.0-beta.1",
사용자의 Dev 종속성에 대해 설명하고webpack.config.js
이 버전을 명시적으로 사용하는 파일:
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
plugins: [
new UglifyJSPlugin()
]
}
uglifyjs-webpack-displays 최신 안정 릴리스(v0.4.6)는 이전 버전을 사용합니다.uglify-js
대신uglify-es
ES6를 변환할 수 있습니다.이 의존관계는 1.0.0-beta.1 릴리즈에서 갱신되었습니다.
https://github.com/webpack-contrib/uglifyjs-webpack-plugin/releases/tag/v1.0.0-beta.1
이것으로 나는 그 문제를 해결했다.설치했습니다.uglifyjs-webpack-plugin
npm install uglifyjs-webpack-plugin --save-dev
그리고 이것을 내 것에 추가했다.webpack.config
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
plugins: [
new UglifyJSPlugin()
]
}
사용하시는 uglify 버전은 ES6를 지원하지 않을 수 있습니다.
https://github.com/mishoo/UglifyJS2/tree/harmony은 현재 es6 버전입니다.
웹 팩 플러그인을 사용하려면 es6에 관한 설치 섹션에 유의하십시오.
중요!플러그인은 uglify-js에 대한 피어 의존성이 있기 때문에 플러그인을 사용하려면 uglify-js도 설치해야 합니다.현재(2017/1/25) 사용 가능한 uglify-js npm 패키지는 ES6 코드의 최소화는 지원하지 않습니다.ES6 지원, ES6 지원, 일명 Uglife 버전JS를 제공해야 합니다.
최소 목표가 ES6인 경우:
yarn add git://github.com/mishoo/UglifyJS2#harmony-v2.8.22 --dev
babel-loader 설정을 변경한 후 동작했습니다.
Babel-loader 설정
{
test: /\.js$/,
loader: 'babel-loader',
include: [path.join(__dirname, '../../Lib/src'), resolve('src'), resolve('test')]
}
언급URL : https://stackoverflow.com/questions/43888474/unexpected-token-operator-from-uglifyjs
'programing' 카테고리의 다른 글
jQuery onChange에서 Vue를 사용하여 데이터 값 업데이트 (0) | 2022.08.12 |
---|---|
모니터 해상도에 관계없이 JFrame이 중앙에 표시되도록 설정하려면 어떻게 해야 합니까? (0) | 2022.08.12 |
*-devel 패키지가 뭐죠? (0) | 2022.08.12 |
Vuejs 2: 워치옵션으로 동작하지 않음 (0) | 2022.08.12 |
컴포넌트 마운트 시 Vuex의 상태 데이터에 액세스하는 방법 (0) | 2022.08.12 |