vite 项目混淆加密 怎么配置?下面这样配置会报错caught TypeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../".
想要只在生产环境build添加加密,应该怎么写呢?
build: {
rollupOptions: {
// 确保外部化处理那些你不想打包进库的依赖
external: ['vue', 'jquery'],
output: {
// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
globals: {
vue: 'Vue',
jquery: '$'
}
},
plugins: [
obfuscator({
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 1,
deadCodeInjection: true,
deadCodeInjectionThreshold: 1,
debugProtection: true,
debugProtectionInterval: 0,
disableConsoleOutput: true,
identifierNamesGenerator: "hexadecimal",
log: false,
renameGlobals: false,
rotateStringArray: true,
selfDefending: true,
shuffleStringArray: true,
splitStrings: true,
splitStringsChunkLength: 10,
stringArray: true,
stringArrayEncoding: ["rc4"],
stringArrayThreshold: 1,
transformObjectKeys: true,
unicodeEscapeSequence: false,
}),
],
},
},
// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import javascriptObfuscator from 'rollup-plugin-javascript-obfuscator'
// 配置
export default defineConfig(({ command }) => ({
plugins: [
vue(),
command === 'build' && javascriptObfuscator({
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 1,
deadCodeInjection: true,
deadCodeInjectionThreshold: 1,
debugProtection: true,
debugProtectionInterval: 0,
disableConsoleOutput: true,
identifierNamesGenerator: "hexadecimal",
log: false,
renameGlobals: false,
rotateStringArray: true,
selfDefending: true,
shuffleStringArray: true,
splitStrings: true,
splitStringsChunkLength: 10,
stringArray: true,
stringArrayEncoding: ["rc4"],
stringArrayThreshold: 1,
transformObjectKeys: true,
unicodeEscapeSequence: false,
})
].filter(Boolean),
build: {
rollupOptions: {
external: ['vue', 'jquery'],
output: {
globals: {
vue: 'Vue',
jquery: '$'
}
},
},
},
}))
用Vite+vue3写一个小项目,不想数据明文出现在编译后的js文件中。 比如使用组件: 这个MyCouponent组件默认插槽会写正常的HTML标签内容。 想在Vite编译阶段加密,比如这个示例里的Hello与World这两个字符串,实现编译输出的js文件里是密文,在浏览器看的时候看明文(会要求登录后看到明文)。 尝试了一些代码混淆方案,都是只混淆代码,Hello与World还是明文。 现在需求
SDK已经做了相关必要混淆,开发者集成此SDK时无需再进行混淆,不当的混淆可能造成SDK功能不可用甚至崩溃。因此,请使用keep选项指定不对SDK进行混淆,具体在混淆配置文件proguard-project.txt中添加如下keep配置即可: -keep class com.baidu.mobstat.** { *; } -keep class com.baidu.bottom.** { *; }
问题内容: 我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域? 问题答案: 请将您的UItextField属性设置为安全。 试试这个.. textFieldSecure是您的UITextField …
为了保证SDK正常工作, 请务必按照以下ProGuard配置打包. -dontwarn com.hubcloud.adhubsdk.** -dontwarn android.app.** -dontwarn android.support.** -keepattributes Signature -keepattributes *Annotation* -keep class com.
vue3、vite项目本地运行正常,打包报一堆错,应该是type-check的报错,应该怎么解决? 无