config.plugin('preload').use().tap(() => [ { rel: 'preload', // to ignore runtime.js // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171 fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/], include: 'initial' } ])
时间: 2023-09-17 12:14:41 浏览: 84
这段代码是用于配置 Vue CLI 的预加载插件。它的作用是在页面加载时提前加载一些资源,以加快页面的加载速度。其中的配置项包括:
- `rel`:指定预加载资源的关系类型,这里设置为 'preload'。
- `fileBlacklist`:一个正则表达式数组,用于排除某些文件,不进行预加载。在这个例子中,排除了以 '.map'、'hot-update.js' 以及 'runtime.*.js' 结尾的文件。
- `include`:指定需要进行预加载的资源类型,这里设置为 'initial',表示只预加载初始资源。
请注意,这只是配置的一部分,可能还有其他的配置项和代码。如果你有其他问题或需要更详细的解释,请告诉我。
相关问题
Error: Cannot call .tap() on a plugin that has not yet been defined. Call plugin('preload').use(<Plugin>) first.
这个错误是由于在调用`.tap()`方法之前尚未定义插件所引起的。解决方法是首先调用`plugin('preload').use(<Plugin>)`来定义插件。下面是一个示例代码,演示了如何解决这个错误:
```javascript
// vue.config.js
module.exports = {
pages: {
index: {
entry: "src/main.js",
},
qr: {
entry: "src/qr.main.js",
},
},
chainWebpack(config) {
config.plugin("preload-index").tap(() => [
{
rel: "preload",
fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
include: "initial",
},
]);
config.plugin("preload-qr").tap(() => [
{
rel: "preload",
fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
include: "initial",
},
]);
},
};
```
这段代码中,我们在`chainWebpack`方法中调用了`config.plugin("preload-index").tap()`和`config.plugin("preload-qr").tap()`来定义插件,并使用`.tap()`方法来配置插件的选项。
ERROR Error: Cannot call .tap() on a plugin that has not yet been defined. Call plugin('preload').use(<Plugin>) first.
这个错误的原因是在调用.tap()方法之前没有先定义插件。根据提供的解决办法,你可以在vue.config.js文件中添加以下代码来解决这个问题:
module.exports = {
chainWebpack(config) {
config.plugin("preload").tap(() => [
{
rel: "preload",
fileBlacklist: [/\.(?:map|hot-update)\.(?:js|css)$/, /runtime\..*\.js$/],
include: "initial",
},
]);
config.plugin("preload-index").tap(() => [
{
rel: "preload",
fileBlacklist: [/\.(?:map|hot-update)\.(?:js|css)$/, /runtime\..*\.js$/],
include: "initial",
},
]);
config.plugin("preload-qr").tap(() => [
{
rel: "preload",
fileBlacklist: [/\.(?:map|hot-update)\.(?:js|css)$/, /runtime\..*\.js$/],
include: "initial",
},
]);
},
};
以上代码会在webpack配置中定义三个插件,并在调用.tap()方法之前先定义了这些插件,从而解决了错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Vue Cli 配置多入口报错解决办法 Cannot call .tap() on a plugin that has not yet been defined](https://blog.csdn.net/qq_40259641/article/details/124730930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]