资源引用
JS 文件内的资源引用
js 文件是 webpack 的天然入口,因此许多资源的搜索路径,都随 webpack 自身的 resolve 配置。而且 js 中能够引用几乎任何资源,只要有合适的 loader 进行解析。有一点要注意的是,如果想 webpack 按着 resolve.modules 配置的路径逐一搜索,直到搜索到为止,可以如一引用资源:
import Lib from 'page/index/components/nav';
CSS 文件内的资源引用
css 既可以遵循 webpack 自身的 resolve 配置,也可以在相关的样式 loader 里对搜索路径进行重写(详请各个样式 loader 的文档),比如 less-loader 会有这样的参数配置:
options: {paths: ['project/path/src',"node_modules"]}
如果想 webpack 按着 resolve.modules 配置的路径逐一搜索,直到搜索到为止,可以如一引用资源:
@import "~btn.less";
- 此中方式 webpack 逐渐不再支持,只有个别
loader如less-loader仍在支持。
HTML 文件内的资源引用
html 文件主要用于 css 和 js 资源的最终引用。此处借助了插件html-res-webpack-plugin,采取匹配的方式,将 webpack 生成的资源替换到 html 文件中,不要忘记后缀名,如下:
<html lang="zh"><head><link crossorigin rel="stylesheet" href="index.css"></head><body><script crossorigin src="index.js"></script></body></html>
js/index 是指 webpack 的 entry 配置中的 key 值,如:
entry: {'js/index': ['project/path/src/page/index']}
这些可以匹配的 entry 名,html-res-webpack-plugin 都会帮你在命令行中打印出来,方便你进行匹配。更多的 html 文件资源引用,可参考插件文档。
html-res-webapck-plugin:assets used like:<link rel="stylesheet" href="index.css"><script src="index.js"></script>chunk1: index.jschunk2: libs/jquery.jschunk3: libs/zepto.js
