Как правильно минимизировать пакет узлов в Vite при работе над расширениемJavascript

Форум по Javascript
Ответить
Anonymous
 Как правильно минимизировать пакет узлов в Vite при работе над расширением

Сообщение Anonymous »

Я работаю над расширением кошелька. Я объединяю этот пакет в своем расширении, что сделало расширение чрезвычайно медленным, как чрезвычайно медленное. Проблема заключается в том, что определенные функции, такие как Transaction Builder, не будут работать, если я не буду их связывать. < /P>

Код: Выделить всё

"@bitgo/utxo-lib": "git+https://github.com/VerusCoin/BitGoJS.git#utxo-lib-verus",
У меня есть папка dist из приведенного выше пакета, и я хочу объединить ее в одном файле JS. Однако он имеет некоторый импорт, а экспорт находится в Common JS , я полагаю.import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import webExtension from '@samrum/vite-plugin-web-extension';
import { nodePolyfills } from 'vite-plugin-node-polyfills';
import path from 'path';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));
const srcDir = path.resolve(__dirname, 'src');

// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
nodePolyfills({
globals: {
Buffer: true,
global: true,
process: true
},
protocolImports: true
}),
webExtension({
manifest: {
manifest_version: 3,
name: 'Layer VOne (Testnet)',
version: '0.0.4',
description: 'Help me make the extension that brings native Layer 1 and Web 3 together on The Verus Blockchain',
permissions: [
'storage',
'activeTab'
],
host_permissions: [
"http://localhost:5173/*",
"http://localhost:3000/*"
],
action: {
default_popup: 'popup.html'
},
background: {
service_worker: 'src/background.js',
type: 'module'
},
content_scripts: [
{
matches: [
"http://localhost:5173/*",
"http://localhost:3000/*"
],
js: ["src/contentScript.js"],
run_at: "document_start"
}
],
web_accessible_resources: [{
resources: ["provider.js"],
matches: [
"http://localhost:5173/*",
"http://localhost:3000/*"
]
}],
content_security_policy: {
extension_pages: "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'"
},
}
})
],
resolve: {
alias: {
'@': srcDir,
'stream': 'stream-browserify',
'crypto': 'crypto-browserify',
'buffer': 'buffer',
'bitcoin-ops/evals.json': path.resolve(__dirname, 'src/utils/bitcoin-ops-evals.json')
}
},
build: {
outDir: 'dist',
emptyOutDir: true,
sourcemap: process.env.NODE_ENV === 'development',
minify: true,
rollupOptions: {
input: {
popup: path.resolve(__dirname, 'popup.html'),
provider: path.resolve(__dirname, 'src/provider.js')
},
output: {
preserveModules: true,
preserveModulesRoot: 'src',
entryFileNames: (chunkInfo) => {
if (chunkInfo.name === 'provider') {
return '[name].js';
}
return 'assets/[name]-[hash].js';
}
},
preserveEntrySignatures: 'strict',
}
}
});
< /code>
Что мне делать, мне нужны предложения. Ниже приведен мой проект.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -extension
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»