kenberkeley / vue-demo

Vue.js 示例项目 · 简易留言板。本项目拥有完善的文档说明与注释,让您快速上手 Vue.js 开发 SPA。Webpack / ES6 + Babel / Vue Router / (Vue Resource?) / (Vue Validator?) / (Vuex?) —— An Excellent Vue Starter with Best Practice / 最佳实践
https://kenberkeley.github.io/vue-demo/dist
Apache License 2.0
1.29k stars 410 forks source link

webpack打包assets内容 #1

Closed zhangzihb closed 8 years ago

zhangzihb commented 8 years ago

正在学习这个demo,但是src/assets 的运用不是特别清楚 如果能更新一些webpack打包的资源运用就完美了

VincentHuang218 commented 8 years ago

@zhangzihb 可以看看这个:https://github.com/petehunt/webpack-howto

kenberkeley commented 8 years ago

@zhangzihb

src/assets 就是存放一些需要 Webpack 处理的静态资源(与 vue-cli 生成的官方模板是一致的)

例如,您想该目录下的 test.png 的 base64,那么您就可以直接:
import imgBase64 from 'assets/test.png'
然后爱干嘛干嘛。例如,您可以这样玩:

var img = document.createElement('img')
img.src = imgBase64
document.body.appendChild(img)

能使用 import 加载静态资源的关键是,您需要在 Webpack 配置中设定对应的 loader:

modules: {
  loaders: [
    ...
    { test: /\.(png|jpg|jpeg|gif|woff)$/, loader: 'url-loader?limit=8192' },
    ...
  ]
}

build/webpack.base.conf.js 中 Line 49 已经配置了

zhangzihb commented 8 years ago

@VincentHuang218 谢谢提供资料

zhangzihb commented 8 years ago

@kenberkeley 非常感谢 昨天遇到的问题是放在 src/assets 中的less文件没有正确的编译,也是webpack配置的问题. 按照您提供的提供的思路 修改配置后解决了对应的问题. 这个demo很棒,摸索出了不少东西!