vue打包后生成可配置json文件

本文介绍了如何在Vue项目中通过generate-asset-webpack-plugin插件,实现打包后生成可配置的JSON文件,避免每次配置变化都需要重新打包的繁琐过程。详细步骤包括安装插件、配置vue.config.js以及在main.js中全局引入。
摘要由CSDN通过智能技术生成

vue打包发布后,如果配置文件等发生变更,需要重新打包,过于繁琐。

具体步骤如下:

1、安装generate-asset-webpack-plugin插件

npm install generate-asset-webpack-plugin --save-dev

2、在vue.config.js中配置如下:

const GenerateAssetPlugin = require('generate-asset-webpack-plugin');
const serverConfig = require('./src/assets/json/serverConfig.json');

const createJson = function () {
  return JSON.stringify(serverConfig);
};

module.exports = {

configureWebpack: {

   plugins: [
      new GenerateAssetPlugin({
        filename: 'serverconfig.json',

        fn: (compilation, cb) => {
          cb(null, createJson(compilation));
        },

        extraFiles: [],
      }),
    ],

  }

}

3、使用

在main.js中全局引入

//axios拦截,获取外部配置信息

if (process.env.NODE_ENV == 'development') {
  axios.get('serverconfig.json').then((res) => {
    console.log
Vue 中,打包生成的静态资源文件列表可以通过 webpack 的插件 `webpack-manifest-plugin` 来生成。 首先,在项目中安装 `webpack-manifest-plugin`: ```bash npm install --save-dev webpack-manifest-plugin ``` 然后,在 webpack 的配置文件中引入该插件,并配置输出的文件名: ```javascript const ManifestPlugin = require('webpack-manifest-plugin'); module.exports = { // ... plugins: [ new ManifestPlugin({ fileName: 'manifest.json', }), ], }; ``` 上述配置将在打包生成一个名为 `manifest.json` 的文件,其中包含了所有打包生成的静态资源文件的信息。 如果你想要在 Vue 的模板中使用该文件列表,可以在 `index.html` 中通过 `script` 标签引入,然后在 Vue 实例中通过访问全局变量 `__webpack_manifest__` 来获取该文件列表。 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>My App</title> </head> <body> <div id="app"></div> <script src="/dist/js/app.js"></script> <script src="/dist/manifest.json"></script> <script> var app = new Vue({ el: '#app', data: { manifest: __webpack_manifest__, }, }); </script> </body> </html> ``` 现在,你就可以在 Vue 实例中访问 `manifest` 对象来获取打包生成的静态资源文件列表了。例如,你可以遍历该列表,生成一组 `script` 或 `link` 标签来自动加载这些文件: ```html <div id="app"> <script v-for="file in manifest"> document.write('<script src="' + file.path + '"><\/script>'); </script> </div> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值