Enfrentando este problema com ^0.9.13-1:
ERRO em ./~/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
Módulo não encontrado: Erro: Não é possível resolver 'knockout' em '/Users/Downloads/projectX/node_modules/bootstrap-multiselect/dist/js'
@ ./~/bootstrap-multiselect/dist/js/bootstrap-multiselect.js 51:8-47
@ ./public/javascripts/datatable-gc.js
@ ./public/javascripts/speciesTree.js
@ ./public/javascripts/render_viewer.js
@ multi webpack-hot-middleware/client ./public/javascripts/render_viewer.js
Mesmo problema após a atualização para a versão mais recente.
Alguma ideia?
Nenhuma solução ainda, todas as referências estão atualizadas também.
Eu também tive isso em conjunto com
AVISO em ./node_modules/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
48:48-55 Dependência crítica: a função require é usada de forma que as dependências não podem ser extraídas estaticamente
Percebo no changelog deste pacote que algum trabalho foi feito com relação ao uso de requirejs ou require etc, eu mesmo não entendo, pois não tenho certeza de quais alterações foram feitas e para qual finalidade. Mas pode ver o padrão
@davidstutz - existe alguma razão pela qual a lista devDependencies em package.json na tag 0.9.15 é diferente do que você obtém quando baixa do NPM? ou seja, knockout não está incluído no pacote repos.json em nenhum lugar, mas quando você baixa do npm, tem knockout: "*" lá.
Qualquer atualização?
Você pode tentar adicionar essas linhas a webpack.config.js
plugins: [
new webpack.ProvidePlugin({
jQuery: 'jquery',
'window.jQuery': 'jquery',
})
],
...
resolve: {
...
alias: {
// path to your jquery in node_modules
'jquery': path.resolve(__dirname, 'node_modules/jquery/dist/jquery'),
}
},
...
module: {
rules: [
...,
{
test: require.resolve('bootstrap-multiselect/dist/js/bootstrap-multiselect'),
use: 'imports-loader?define=>false,this=>window',
},
...
]
funciona para mim
Alguma atualização sobre este?
Para o projeto Ruby on Rails com webpacker, tive que adicionar isso a environment.js
para que funcionasse:
environment.loaders.append('this-window', {
test: /bootstrap-multiselect/,
use: [
{
loader: 'imports-loader',
options: {
wrapper: 'window',
additionalCode: 'var define = false;',
},
},
],
});
+ yarn add imports-loader
. Ele ainda mostra dois avisos na compilação, mas funciona.
Instalei o bootstrap-multiselect 0.9.15 e recebi o erro Module not found: Can't resolve 'knockout' in '/Users/aroshasumanaweera/node_modules/bootstrap-multiselect/dist/js
.
Minha solução foi instalar o knockout por uma questão de dependência,
que funcionou!!.
Correr npm i knockout
Comentários muito úteis
Eu também tive isso em conjunto com
AVISO em ./node_modules/bootstrap-multiselect/dist/js/bootstrap-multiselect.js
48:48-55 Dependência crítica: a função require é usada de forma que as dependências não podem ser extraídas estaticamente
Percebo no changelog deste pacote que algum trabalho foi feito com relação ao uso de requirejs ou require etc, eu mesmo não entendo, pois não tenho certeza de quais alterações foram feitas e para qual finalidade. Mas pode ver o padrão
@davidstutz - existe alguma razão pela qual a lista devDependencies em package.json na tag 0.9.15 é diferente do que você obtém quando baixa do NPM? ou seja, knockout não está incluído no pacote repos.json em nenhum lugar, mas quando você baixa do npm, tem knockout: "*" lá.