webpack项目在开发环境中使用静态css文件

在webpack项目(本人使用的 vue-cli-webpack )中,需要引入 css 或 scss等样式文件时,本人目前知道的,通常有以下几种方法:

  1. 在js文件中import(假设已配好相关的loader)

    如在main.jsimport 'izitoast/dist/css/izitoast.min.css'
  2. 在自己写的 scss 等文件中 @import

    @import '../../assets/scss/widgets.scss';(在src目录下)
  3. 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文件的更多相关文章

  1. vue-cli 初始化项目时开发环境中的跨域问题

    最近刚刚完成自己的毕业设计(基于Vue的信息资讯展示与管理平台),于是想整理一下过程遇到的一些问题. 项目基于Vue开发,使用 Vue-cli 初始化项目文件目录时默认占用8080端口,而我又想使用 ...

  2. vagrant nginx php开发环境中浏览器访问js文件,文件中出现乱码的解决方法

    当nginx配置 sendfile设置为on时,某些js文件中会出现奇怪的字符: ����������������� 不管怎么刷新,重启服务都无效: 通过google搜索之后发现原来是因为开启send ...

  3. Wabpack系列:在webpack+vue开发环境中使用echarts导致编译文件过大怎么办?

    现象,在一个webpack+vue的开发环境中,npm install echarts --save了echarts,然后在vue文件中直接使用 import echarts from 'echart ...

  4. 开发环境中biztalk项目设置注意事项(转)

      适用版本:biztalk 2006 适用环境:开发测试环境 在开发过程中,在开发环境中,一定会是一个对项目不断的修改.编译.部署.测试,查看测试结果,发现有问题,然后回到开发环境再修改.编译.部署 ...

  5. Webpack中的sourcemap以及如何在生产和开发环境中合理的设置

    一 . 从Sourcemap和Data URL说起 (1)什么是Sourcemap? 我们在打包中,将开发环境中源代码经过压缩,去空格,babel编译转化,最终可以得到适用于生产环境的项目代码,这样处 ...

  6. 从零开始搭建一个简单的基于webpack的vue开发环境

    原文地址:https://segmentfault.com/a/1190000012789253?utm_source=tag-newest 从零开始搭建一个简单的基于webpack的react开发环 ...

  7. 搭建 webpack、react 开发环境(一)

    基本介绍   Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,它可以将多种静态资源 JavaScript.css.le ...

  8. 一、Electron + Webpack + Vue 搭建开发环境及打包安装

    目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack  搭建开发环境及打包安装 ------- 打包主进程 Electron + ...

  9. webpack配置React开发环境(上)

    Webpack 是一个前端资源加载/打包工具,我们部门的一条主要技术栈就是Webpack+React+ES6+node,虽然之前自己做个人项目也接触好多次Webpack,但是自己并没有研读总结过Web ...

随机推荐

  1. 【转】每天一个linux命令(6):rmdir 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/10/27/2742076.html 今天学习一下linux中命令: rmdir命令.rmdir是常用的命 ...

  2. JUC线程池之 线程池的5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED

    线程池有5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED. 线程池状态定义代码如下: private final AtomicInteger ctl ...

  3. Vuejs项目的Webpack2构建优化

    最近在做的项目因为相对较大(打包有100多个chunk),在build构建的时候速度一直上不去,甚是烦恼.由于用的是vue-cli的webpack2模板,一开始并没有想着要对其进行优化,一直觉得是we ...

  4. Angular 4 路由介绍

    Angular 4 路由 1. 创建工程 ng new router --routing 2. 创建home和product组件 ng g component home ng g component ...

  5. Oracle Grid control 11g及Active DataGuard 11g安装部署

    Oracle Grid control 11g及Active DataGuard 11g安装部署(一) 原贴 http://blog.csdn.net/lichangzai/article/detai ...

  6. netty搭建Tcp服务器实践

    在netty基本组件介绍中,我们大致了解了netty的一些基本组件,今天我们来搭建一个基于netty的Tcp服务端程序,通过代码来了解和熟悉这些组件的功能和使用方法. 首先我们自己创建一个Server ...

  7. WPF Demo9外部资源文件

    <Window x:Class="Demos.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/ ...

  8. bzoj 1288: Neighbours

    Description 很久以前, 有一个小小的国度, 为了方便, 我们可以把它想象为一个大大的矩形, 矩形的左下角为(0, 0), 右上角为(w, h), 共有(w + 1) * (h + 1)个整 ...

  9. 通过shell进行数学计算

    对于基本运算,可以使用let, $(())和$[] 对于高级运算,使用expr和bc这两个工具 [hupeng@hupeng-vm shell]$n1= [hupeng@hupeng-vm shell ...

  10. 9-16Jenkins-4节点

    1.Jenkins-系统管理-全局安全配置,设置代理端口和协议类型,保存 2.Jenkins-系统管理-节点管理,建立节点 设置节点名称,节点工作目录.标签.用法.启动方式设置如下: 标签用于管理节点 ...