1. 程式人生 > >Uncaught Error: Script error for "popper.js", needed by: bootstrap - require.js

Uncaught Error: Script error for "popper.js", needed by: bootstrap - require.js

Uncaught Error: Script error for "popper.js", needed by: bootstrap
https://requirejs.org/docs/errors.html#scripterror
    at makeError (require.js:168)
    at HTMLScriptElement.onScriptError (require.js:1738)

  

使用require.js 模組化開發引入bootstrap 4.1.1 時會報錯,如上,在網上找到一個解決辦法,在配置require.js 時新增map引數,最終解決方案如下:

require.config({
  baseUrl: '/vendors',
  paths: {
    'jquery':                 'jquery/dist/jquery.min',
    'bootstrap':              'bootstrap/dist/js/bootstrap',
    'popper':                 'popper.js/dist/umd/popper.min',
    ...
  },
  shim: {
    'bootstrap': ['jquery']
  },
  map: {
    '*': {
      'popper.js': 'popper'
    }
  }
});

  

核心解決方案是:

在require的配置中 map 里加配置 'popper.js': 'popper'。

這是因為在Bootstrap裡定義的是require('popper.js'), 而不是require標準的require('popper'), 所以要在map裡做一個轉換以讓require.js識別。

以後遇到同類情況也可以用些方案解決。

 

參考:https://my.oschina.net/justplay/blog/2992283