首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除使用js-混淆器webpack插件对火基进口的混淆。

排除使用js-混淆器webpack插件对火基进口的混淆。
EN

Stack Overflow用户
提问于 2022-02-20 11:47:38
回答 1查看 550关注 0票数 1

我想混淆我的代码,但不使用Firebase导入代码使用webpack和js-模糊插件。混淆的防火墙代码几乎加倍其大小(超过500 its )!

我尝试了很多事情,比如将ignoreRequireImports设置为true。但这似乎只适用于需求进口,而不是树状摇摆不定的进口。

我还尝试了// javascript-混淆器:禁用导入行周围的注释,但这也没有解决问题.

这是我的webpack.config.js:

代码语言:javascript
复制
const path = require('path');

var WebpackObfuscator = require('webpack-obfuscator');

module.exports = {
    mode:'production',
    devtool:'source-map',
    entry: { //'./src/firebaseConfig.js',
        //firebaseConfig:'./src/firebaseConfig.js',
        'scripts/signIn':'./src/signIn.js'
    },
    
    plugins:[
        new WebpackObfuscator({rotateStringArray: true, reservedStrings: [ '\s*' ]}, [])
    ],
    module:{
        rules:[
            {
                enforce: 'post',
                use: {
                    loader: WebpackObfuscator.loader,
                    options: {
                        rotateStringArray: true,
                        reservedStrings: [ '\s*' ],
                        ignoreRequireImports:true
                    }
                }
            }
        ]
    },
    output:{
        path:path.resolve(__dirname,'public'),
        filename:"[name].bundle.js"
        
    },   
    watch:true
}

以下是我的源代码js文件代码:

从“firebase/app”导入{ initializeApp };

代码语言:javascript
复制
import {
    getAuth 
}from 'firebase/auth';


import {
    getFirestore,
    collection,   
    getDocs    
} from 'firebase/firestore';

initializeApp(firebaseConfig);

const db = getFirestore();
const auth=getAuth();

const colRef=collection(db,'books');

console.log(test);

getDocs(colRef).then((snapshot)=>{
    let books =[];
    snapshot.docs.forEach((doc)=>{
        books.push({...doc.data(),id:doc.id})
    })
    console.log(books);
}).catch(err => {    
    
    console.log(err); 
})

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-10-05 16:15:19

您可以尝试添加测试条件标记(针对特定文件)或添加排除标记以限制混淆任务的范围,请参见下面的示例:

代码语言:javascript
复制
module: {
    rules: [
        {
            test: /\.js$/,
            enforce: 'post',
            use: {
                loader: WebpackObfuscator.loader,
                options: {
                    rotateStringArray: true,
                }
            },
            exclude: /node_modules/
        },
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71194111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档