Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

185
Vistas
How can I call a javascript function in a module from HTML when the module has been bundled by webpack?

This is probably a basic question but for some reason Google won't give me the answer.

I have a file called dropzone.stub.js in my src/ folder

import { Dropzone } from "dropzone";
Dropzone.autoDiscover = true;

// Callback takes one argument and that is the file that was 
// added.
export default function createDropZone(selector, url, callback) {
  const myDropzone = new Dropzone(selector, { url: url });
  myDropzone.on("addedfile", callback);
}

Basically I am just trying to call it from with script tags within my HTML file.

My webpack bundler is configured as follows:

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './src/dropzone.stub.js',
  output: {
    filename: 'dropzone.bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
      //      presets: ['@babel/preset-env', {targets: 'defaults'}]
          }
        }
      },
//      {
//        test: /\.css$/i,
//        use: ['style-loader', 'css-loader'],
//      },
      {
        test: /\.(png|svg|jpg|jpeg|gif)$/i,
        type: 'asset/resource',
      },
    ],
    // resolve: {
    //  extensions: [ '.js', '.jsx', '.css' ],
    //}
  },
};

The script section in my HTML browser at the moment just looks like this:

<script type="module">
  import { createDropZone } from '/static/dist/dropzone.bundle.js';

</script>

The browser reports the following error:

Uncaught SyntaxError: The requested module '/static/dist/dropzone.bundle.js' does not provide an export named 'createDropZone'

Any ideas anyone?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You are trying to import a webpack transpiled module from outside of webpack's scope which doesn't work. You really only have 2 options that I'm aware of. You can move your import statement from the html file to a javascript file such as app.js or something and run everything through webpack, or you would need to use babel along with webpack. I'd prefer the former but if that's not an option then maybe this will help point you in the right direction https://webpack.js.org/loaders/babel-loader/

about 4 years ago · Juan Pablo Isaza Denunciar

0

What does the bundled file look like. Webpack is most likely not bundling it as a es module.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda