内容简介:在模板编译过程中,编译器可以将某些特性转换为 require 调用,例如 src 中的 URL。因此这些目标资源可以被 webpack 处理。例如 <img src="./foo.png"> 会找到你文件系统中的 ./foo.png 并将其作为一个依赖包含在你的包里。资源 URL 转换会遵循如下规则:
mock服务
const fs = require('fs');
const path = require('path')
const ASYNC_PREFIX = '/async/*'
function handerAsyncRequest (req, res) {
let data = '';
let reqPath = req.path;
let reqQuery = req.query;
let protocol = req.protocol;
let method = reqQuery['method'];
let pathStr = '';
let fileUrl = '';
if (method) {
pathStr = method.replace(/\./ig, path.sep) + '.json'
} else {
pathStr = reqPath.replace(/\/async/ig, '') + '.json'
}
fileUrl = path.join(__dirname, '..', 'mock', 'data', pathStr)
try {
data = fs.readFileSync(fileUrl, {
encoding: 'utf8'
});
} catch (e) {
data = e;
}
res.send(data);
}
function beforeServer (app, server) {
app.get(ASYNC_PREFIX, handerAsyncRequest)
app.post(ASYNC_PREFIX, handerAsyncRequest)
}
module.exports = {
beforeServer
};
- app.use(path, router/callback) 也可以实现, path不接受正则,会匹配以path开头的路径
webpack配置服务配置
devServer: {
before: beforeServer
}
vue-loader.conf.js
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
在模板编译过程中,编译器可以将某些特性转换为 require 调用,例如 src 中的 URL。因此这些目标资源可以被 webpack 处理。例如 <img src="./foo.png"> 会找到你文件系统中的 ./foo.png 并将其作为一个依赖包含在你的包里。
资源 URL 转换会遵循如下规则:
- 如果路径是绝对路径 (例如 /images/foo.png),会原样保留。
- 如果路径以 . 开头,将会被看作相对的模块依赖,并按照你的本地文件系统上的目录结构进行解析。
- 如果路径以 ~ 开头,其后的部分将会被看作模块依赖。这意味着你可以用该特性来引用一个 Node 依赖中的资源
- 如果路径以 @ 开头,也会被看作模块依赖。如果你的 webpack 配置中给 @ 配置了 alias,这就很有用了
plugins
- directory-named-webpack-plugin 解决默认只使用index.js的问题,使用此插件可以解决a/a.js 引用问题
v-if / v-show
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 分享功能之pc端分享和微信分享(vue版)
- 算法精讲:分享一道值得分享的算法题
- 【技术分享】针对AIX系统的渗透测试技巧分享
- 单页面路由工程使用微信分享及二次分享解决方案
- DockOne微信分享(二一一):基于Actor模型的CQRS/ES解决方案分享
- h5 vue引入微信sdk 实现分享朋友圈,分享给朋友,获取地理位置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法技术手册(影印版第2版)(英文版)
(美)乔治·T·海涅曼//加里·波利斯//斯坦利·塞克欧 / 东南大学 / 2017-10-01 / 96.0
一起来看看 《算法技术手册(影印版第2版)(英文版)》 这本书的介绍吧!