Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
¿Puede compilar un archivo TS con un paquete web por separado de la aplicación Vue?

Así que tengo una aplicación Vue 3 + Typescript. npm run build , por supuesto, toma la aplicación y la compila en la carpeta dist para que pueda implementarse. Tengo un archivo mecanografiado de trabajador web que me gustaría compilar por separado para que termine en la raíz de la carpeta dist con el nombre worker.js . Esto es lo que estoy buscando:

 dist |- worker.js src |- worker.ts // This gets compiled to js file in dist folder

Intenté hacer esto usando DefinePlugin de DefinePlugin en mi vue.config.js así:

 const webpack = require('webpack') module.exports = { configureWebpack: { plugins: [ new webpack.DefinePlugin({ entry: `${__dirname}/src/worker.ts`, module: { rules: [ { test: /worker\.ts$/, use: 'ts-loader', exclude: /node-modules/ } ] }, resolve: { extensions: ['.ts'] }, output: { filename: 'worker.js', path: `${__dirname}/dist` } }) ], resolve: { alias: { vue$: 'vue/dist/vue.esm-bundler.js' } } } }

Desafortunadamente, esto no funciona, npm run build simplemente ignora por completo el archivo worker.ts y no aparece en la carpeta dist en ninguna parte, ni siquiera como un fragmento. ¿Alguna sugerencia? ¿O es posible lo que quiero hacer? ¡Gracias por cualquier ayuda!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Pude obtener el resultado deseado usando esbuild . Ahora puedo escribir mi trabajador web en Typescript y usar clases y funciones desde mi aplicación Vue. También compila a la velocidad del rayo. Acabo de agregar el comando node ./esbuild.js a mis npm run dev y npm run build , y ahora se compila en la carpeta public antes de que se compile la aplicación Vue. Aquí está mi archivo esbuild.js .

 const esbuild = require('esbuild') const { nodeExternalsPlugin } = require('esbuild-node-externals') const config = { entryPoints: ['./src/worker.ts'], outfile: 'public/worker.js', bundle: true, minify: false, logLevel: 'silent', plugins: [nodeExternalsPlugin()] } esbuild.build(config).catch(() => process.exit(1))

Avíseme si tiene alguna pregunta, estaré encantado de ayudar a cualquiera a hacer que esto funcione.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda