w3schools property img attribute jquery webpack

property - Webpack usando bootstrap-jquery no está definido



title attribute in html (7)

¡Esto funcionará!

global.jQuery = require(''jquery'');

en lugar de

import $ from ''jquery'';

import $ from ''jquery''; require("./node_modules/bootstrap/dist/css/bootstrap.min.css") require("./node_modules/bootstrap/js/dropdown.js") import React from ''react''; import ReactDOM from ''react-dom''; var _ = require(''lodash'');

Consulte arriba mi configuración. Por alguna razón, recibí un error que decía "Error de referencia no capturado: jQuery no está definido () en dropdown.js

También incluí las siguientes líneas en webpack.config.js

plugins: [ new webpack.NoErrorsPlugin({ $: "jquery", jQuery: "jquery" }) ]

Pero, no hubo suerte: todavía tengo un error indefinido de jQuery. Alguna idea ? ¿Alguien puede ayudarme con este problema?

Muchas gracias


Como mencionó @Ro, no olvide reiniciar el servidor de nodos, de lo contrario, los cambios en el paquete web no se tendrán en cuenta.

Confirmo que una vez que se agregaron estas líneas y se reinició el servidor, el error desaparece.

Con Bootstrap 4, una versión actualizada de webpack.config.js se verá realmente así debido a su dependencia con Tether:

plugins: [ // ...plugins... new webpack.ProvidePlugin({ $: "jquery", jQuery: ''jquery'', "window.jQuery": ''jquery'', tether: ''tether'', Tether: ''tether'', ''window.Tether'': ''tether'', }), ]


Instale y use exports-loader de exports-loader para las importaciones desplegables individuales con Bootstrap 4.0 y Webpack 3 .

// webpack.config.js module.exports = { ... plugins: [ new webpack.ProvidePlugin({ Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown", })

Complemento o importación individual: require("./node_modules/bootstrap/js/dist/dropdown")

versus

Importar Bootstrap en su totalidad: require("./node_modules/bootstrap")

Referencias


Para que este código funcione, debe reiniciar el nodo después del cambio:

// webpack.config.js module.exports = { ... plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" }) ] };


esto funcionará

plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" }) ]

Funcionó para mí, espero que ayude


global.jQuery no funcionó para mí. Pero encontré una lectura interesante aquí: http://reactkungfu.com/2015/10/integrating-jquery-chosen-with-webpack-using-imports-loader/

La idea básica es usar paquetes de web ''Import-Loader''. Sin embargo, tenga en cuenta que no está instalado de manera predeterminada, así que primero instale (npm install --save imports-loader). Y en webpack.config agregue a sus cargadores lo siguiente:

{ test: /bootstrap.+/.(jsx|js)$/, loader: ''imports?jQuery=jquery,$=jquery,this=>window'' }

Después de eso, solo importe jquery y bootstrap, o algunos otros complementos que se extiendan en ''jQuery'', como de costumbre.

Saludos


utilice Webpack ProviderPlugin, usar global no es una buena idea.

// webpack.config.js module.exports = { ... plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" }) ] };