ie9+용 vue webpack 2 자동 리픽서
웹 팩 빌드와 함께 Vuecli에서 생성된 Vue 사용.마법이 많이 일어나고 있어IE에 필요한 벤더 프리픽스를 생성하는 방법을 알 수 없습니다.
이것은 github 문제(https://github.com/vuejs-templates/webpack/issues/421#issuecomment-284322065에서 복사한 것입니다.
vue-displays.conf.conf.disples
var utils = require('./utils')
var config = require('../config')
var isProduction = process.env.NODE_ENV === 'production'
module.exports = {
loaders: utils.cssLoaders({
sourceMap: isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap,
extract: isProduction
}),
postcss: [
require('postcss-import')(),
require('autoprefixer')({
browsers: ['ie >= 9']
})
]
}
단순 컨테이너 구성 요소 예제
컨테이너/index.vue
<template>
<div class="container">
<slot></slot>
</div>
</template>
<script>
import './index.scss'
export default {}
</script>
컨테이너/index.scss
// this is aliased in webpack.base.conf
@import "~styles/base-config";
.container {
@include grid(); // this generates display:flex and border-box resets
max-width: 100%;
margin: 0 auto;
}
헤드에서 인라인 출력이 생성되어야 하지만 현재 -ms-flexbox 또는 -webkit-prefix를 가져오지 않습니다.
<style>
.container {
-webkit-box-sizing: border-box; // not generated
box-sizing: border-box;
display: -webkit-box; // not generated
display: -ms-flexbox; // not generated
display: flex;
max-width: 100%;
margin: 0 auto;
}
</style>
관련:
webpack2 vue-cli autorefixer가 scs 파일이 필요한 경우 js 파일에서 작동하지 않음
https://github.com/vuejs/vue-cli/issues/350 vue-defixer.conf.defixer의 autoprefixer를 마지막 2개의 버전에서 사용합니다(사용했습니다).
browsers: ['ie >= 9']
, 동작하지 않음)생각할 수 있는 해결책: https://github.com/vuejs-templates/webpack/issues/600 단, 콘솔에서 소스 맵 오류가 발생합니다.
build/utils.js에 추가됨
// npm install postcss-loader first then edit:
...
var postcssLoader = {
loader : 'postcss-loader'
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
var loaders = [cssLoader, postcssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
...
업데이트 26-07-2017
repo 추가 : https://github.com/sidouglas/vue-js-vendor-prefixes-bug
2017년 3월 08일 갱신
@크리스 카마라타
npm ERR! fetch failed http://remote-server/artifactory/api/npm/npm-aggregator/vue/-/vue-2.4.2.tgz
npm WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND uscavs-repo1 remote-server
npm ERR! fetch failed http://remote-server/artifactory/api/npm/npm-aggregator/vue-router/-/vue-router-2.7.0.tgz
npm WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND uscavs-repo1 remote-server
cloneCurrentTree: WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND uscavs-repo1 remote-server
[2] + 56232 suspended npm i
나는 조금 다른 요령을 취할 것이다.Vue/Webpack 템플릿의 소스는 다음과 같습니다.위에 게시된 것과는 상당히 다른 것 같습니다.템플릿 설정에서 해야 할 일은 package.json의 "browserlist" 필드를 사용하는 것뿐입니다(참조.postcssrc.js).
실험 삼아 다음을 시도해 보십시오.
- vue-loader.conf.js를 이 vue-loader.conf.js로 대체
- build/utils.js를 이 것으로 바꿉니다.
- 프로젝트의 루트(package.json과 함께)에 .postcssrc.js가 있는지 확인합니다.이거 복사해.
- 를 추가합니다.
browserlist
package.json으로 이동합니다.다시, 여기 샘플
BrowserList 규칙에 대한 자세한 내용은 여기를 참조하십시오.
언급URL : https://stackoverflow.com/questions/45208186/vue-webpack-2-autoprefixer-for-ie9
'programing' 카테고리의 다른 글
이러한 상대 모듈을 찾을 수 없습니다. vue cli (0) | 2022.08.03 |
---|---|
왜 이중 간접을 사용하는가?아니면 왜 포인터에 포인터를 사용하는가? (0) | 2022.08.03 |
언제 왜 malloc을 사용합니까? (0) | 2022.08.01 |
자바어로 this는 무슨 뜻입니까? (0) | 2022.08.01 |
Vuex 스토어 데이터는 항상 메모리에 저장됩니까? (0) | 2022.08.01 |