Sim*_*mon 10 webpack vue.js vuejs2 vue-cli
使用Vuecli生成的Vue和webpack构建.有很多魔法在继续.我无法弄清楚的是如何生成IE所需的供应商前缀.
这是从github问题复制的:https://github.com/vuejs-templates/webpack/issues/421#issuecomment-284322065
VUE-loader.conf.js
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']
})
]
}
Run Code Online (Sandbox Code Playgroud)
简单容器组件示例
容器/ index.vue
<template>
<div class="container">
<slot></slot>
</div>
</template>
<script>
import './index.scss'
export default {}
</script>
Run Code Online (Sandbox Code Playgroud)
容器/ 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;
}
Run Code Online (Sandbox Code Playgroud)
在头部生成的预期内联输出,(但目前没有得到-ms-flexbox或-webkit-前缀)
<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>
Run Code Online (Sandbox Code Playgroud)
有关:
https://github.com/vuejs/vue-cli/issues/350刚刚在vue-loader.conf.js中使用autoprefixer和最后两个版本(我用过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
})
})
}
...
Run Code Online (Sandbox Code Playgroud)
更新26-07-2017
在这里添加了回购:https://github.com/sidouglas/vue-js-vendor-prefixes-bug
更新03-08-2017
@Chris Camaratta
npm ERR! fetch failed http://uscavs-repo1:8081/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 uscavs-repo1:8081
npm ERR! fetch failed http://uscavs-repo1:8081/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 uscavs-repo1:8081
^Z ???????????????? ? cloneCurrentTree: WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND uscavs-repo1 uscavs-repo1:8081
[2] + 56232 suspended npm i
Run Code Online (Sandbox Code Playgroud)
我将采取一些不同的策略。Vue/Webpack 模板的来源在这里。它看起来与您上面发布的内容完全不同。在模板的配置中,您唯一需要做的就是“使用 package.json 中的“browserslist”字段”(参考.postcssrc.js)。
作为一个实验,尝试:
browserlist
在 package.json 中添加一个部分。再次,
在这里采样有关 BrowserList 规则的信息,请查看此处
归档时间: |
|
查看次数: |
1775 次 |
最近记录: |