vue打包,生成的js文件混淆

         此方法可能会影响编译性能,进入页面加载过程时间长,若能接受可使用。。

        项目完成时,打包部署的时候会有漏洞扫描的过程,其中静态文件static/js下的文件,有些框架会在打包时没有进行混淆处理,这样就会在js文件中暴漏出来源代码的信息。有些可能会泄密。

例如:1、chunk-element-ui.js,该文件引用的是第三方组件库,

           2、chunk-lib.js,该文件引用的是第三方插件

           3、app.js,该文件会集成原始代码的部分内容。

        以上第一、第二条是引用的第三方组件库和第三方的插件,一般会有混淆处理,但是第三条如果将原始代码暴漏出来,可能会有泄密的风险,安全性较高的企业在进行漏洞扫描的时候,就会出现不通过的情况。。

        如下为遇到这样项目的处理办法,增加某些属性可能会影响编译性能混淆度太强或者混淆的转义符太过相同,也可能会造成内存溢出(溢出的原因可能是调用了递归或者确实内存过大)或破坏原始代码,影响功能,请依据项目的混淆程度增加或者删减属性。

        另外:如果使用如下方法,请注意node、webpack、WebpackObfuscator等插件版本的适配噢。

        1、 在项目中引用 WebpackObfuscator 插件,

                 npm install --save-dev webpack-obfuscator

                或者  npm install webpack-obfuscator@版本号

               注意:如果出现引用插件undifined的问题,可能是因为插件被自动抹掉或者被系统和谐掉,可以安装淘宝镜像。或者使用cnpm安装

        2、在vue.config.js文件中引用插件

        

        3、在vue.config.js文件的配置中增加插件中的属性(根据需求配置属性,以免引起错误,在属性注释中,会增加标注

                

       经过测试与漏洞扫描,发现只留下 unicodeEscapeSequence 属性,能实现混淆效果,同时性能也能达到最佳,各位根据需求调整吧。

        4、切记要测试噢,我出现的问题是影响路由跳转和关闭路由页面,根据不同情况,各自修改吧。

        祝你们好运!!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值