webpack项目在开发环境中使用静态css文件
webpack项目在开发环境中使用静态css文件
在webpack项目(本人使用的 vue-cli-webpack )中,需要引入 css 或 scss等样式文件时,本人目前知道的,通常有以下几种方法:
- 在js文件中import(假设已配好相关的loader)
如在main.js
中import 'izitoast/dist/css/izitoast.min.css'
- 在自己写的 scss 等文件中
@import
如@import '../../assets/scss/widgets.scss';
(在src目录下) - 在
index.html
文件中使用cdn:
如<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
如果你不想使用使用上述方法,想要将 css 文件放置在 /static
目录下,像通常一样通过link引入;或者使用上述方法有问题时:
如本人在使用 import
方法在main.js
中引入font-awesome.min.css
时,老是出问题:
warning in [workspace]/~/.3.0.1@vue-style-loader/lib/listToStyles.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other
case-semantic.
...
又不想在开发环境中一直使用CDN,那么怎么办呢?
如果直接在index.html
中使用<link rel="stylesheet" href="./static/css/font-awesome.min.css">
,npm run dev
时webpack是无法帮你从目标目录中加载css文件的,
因为 dev-server 中没有 此对应目录!
因为你的css文件没有经过webpack处理(应该是这样吧?)
那么,只好...
stackoverflow!
http://stackoverflow.com/questions/27639005/how-to-copy-static-files-to-build-directory-with-webpack
此问题下的回答主要提供了两种方法(原理上是一种,都是用 file-loader 来处理 静态的css文件):
- 使用插件:copy-webpack-plugin
- 直接使用 file-loader
下面开始使用copy-webpack-plugin
的案例。
本人的环境为 vue-cli-webpack 项目, 项目的webpack.prod.conf.js
中已经配置了此插件。
因为此处是在开发环境中使用 static 下的 css,因此,第一步是在 webpack.dev.conf.js
配置文件中,配置CopyWebpackPlugin
var path = require('path')
var CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = merge(baseWebpackConfig, {
context: path.resolve('./'), // 项目根目录、这样配置context就不需要修改 entry 中的app地址了
// ... 其他配置
plugins: [
// ... 其他插件
new CopyWebpackPlugin([{
from: path.resolve('./static'),
ignore: ['.*']
}])
]
})
然后在index.html
文件中的head部分
<link rel="stylesheet" href="./static/css/font-awesome.min.css">
<link rel="stylesheet" href="./static/css/iview.css">
<link rel="stylesheet" href="./static/css/ol.css">
才疏学浅,学海无涯啊
webpack项目在开发环境中使用静态css文件的更多相关文章
- vue-cli 初始化项目时开发环境中的跨域问题
最近刚刚完成自己的毕业设计(基于Vue的信息资讯展示与管理平台),于是想整理一下过程遇到的一些问题. 项目基于Vue开发,使用 Vue-cli 初始化项目文件目录时默认占用8080端口,而我又想使用 ...
- vagrant nginx php开发环境中浏览器访问js文件,文件中出现乱码的解决方法
当nginx配置 sendfile设置为on时,某些js文件中会出现奇怪的字符: ����������������� 不管怎么刷新,重启服务都无效: 通过google搜索之后发现原来是因为开启send ...
- Wabpack系列:在webpack+vue开发环境中使用echarts导致编译文件过大怎么办?
现象,在一个webpack+vue的开发环境中,npm install echarts --save了echarts,然后在vue文件中直接使用 import echarts from 'echart ...
- 开发环境中biztalk项目设置注意事项(转)
适用版本:biztalk 2006 适用环境:开发测试环境 在开发过程中,在开发环境中,一定会是一个对项目不断的修改.编译.部署.测试,查看测试结果,发现有问题,然后回到开发环境再修改.编译.部署 ...
- Webpack中的sourcemap以及如何在生产和开发环境中合理的设置
一 . 从Sourcemap和Data URL说起 (1)什么是Sourcemap? 我们在打包中,将开发环境中源代码经过压缩,去空格,babel编译转化,最终可以得到适用于生产环境的项目代码,这样处 ...
- 从零开始搭建一个简单的基于webpack的vue开发环境
原文地址:https://segmentfault.com/a/1190000012789253?utm_source=tag-newest 从零开始搭建一个简单的基于webpack的react开发环 ...
- 搭建 webpack、react 开发环境(一)
基本介绍 Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,它可以将多种静态资源 JavaScript.css.le ...
- 一、Electron + Webpack + Vue 搭建开发环境及打包安装
目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack 搭建开发环境及打包安装 ------- 打包主进程 Electron + ...
- webpack配置React开发环境(上)
Webpack 是一个前端资源加载/打包工具,我们部门的一条主要技术栈就是Webpack+React+ES6+node,虽然之前自己做个人项目也接触好多次Webpack,但是自己并没有研读总结过Web ...
随机推荐
- linux 知识点
关于登录Linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...
- linux ping报错Name or service not known
ubuntu设置静态ip以后忘记设置dns,ping的时候报错:Name or service not known 添加dns即可 vi /etc/resolv.conf nameserver 8.8 ...
- html 子元素和父元素都监听了 click 事件,点击子元素时为何先触发的是父元素的 click 事件?
先上一段代码,点击子元素时先触发的是父元素的 click 事件 <html> <head> <script type="text/javascript" ...
- C# 爬取网页上的数据
最近工作中需求定时爬取不同城市每天的温度.其实就是通过编程的方法去抓取不同网站网页进行分析筛选的过程..NET提供了很多类去访问并获得远程网页的数据,比如WebClient类和HttpWebReque ...
- GNU C与ANSI C的不同
引用:http://tsroad.lofter.com/post/376316_57ac519 1.GNU C可定义0长度数组,目的是为了定义可变长结构体. struct var_struct{ ...
- dede头 名字 和关键字的调用
<title>{dede:global.cfg_webname/}</title><meta name="description" content=& ...
- maven学习(2)-在Eclipse 中使用Maven
第一节:m2eclipse 插件安装 打开Eclipse,点击菜单Help - > Install New Software 点击Add 按钮Name:m2e location: http:// ...
- python3+selenium3.13的简单操作
1.浏览器 1.1 浏览器窗口大小位置 driver.set_window_size(self, width, height, windowHandle) 将某个窗口设置为固定大小 driver.se ...
- js原生态函数中使用jQuery中的 $(this)无效的解决方法
原文地址:http://www.jb51.net/article/27238.htm 今天遇到一个听郁闷的问题,正如title所说 js中原生态函数在jQuery 中使用 $(this) 被解析成un ...
- [UE4]C++中引用(&)的用法和应用实例
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率 ...