Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Browserify和jQuery数据表扩展_Javascript_Jquery_Datatables_Ecmascript 6_Browserify - Fatal编程技术网

Javascript Browserify和jQuery数据表扩展

Javascript Browserify和jQuery数据表扩展,javascript,jquery,datatables,ecmascript-6,browserify,Javascript,Jquery,Datatables,Ecmascript 6,Browserify,我有一个browserify shim配置: "browser": { "jquery": "./node_modules/jquery/dist/jquery.js", "bootstrap": "./node_modules/bootstrap/dist/js/bootstrap.js", "datatables": "./node_modules/datatables/media/js/jquery.dataTables.js", "dt-bootstr

我有一个browserify shim配置:

  "browser": {
    "jquery": "./node_modules/jquery/dist/jquery.js",
    "bootstrap": "./node_modules/bootstrap/dist/js/bootstrap.js",
    "datatables": "./node_modules/datatables/media/js/jquery.dataTables.js",
    "dt-bootstrap": "./source/vendors/js/dataTables.bootstrap.js",
    "dt-select": "./source/vendors/js/dataTables.select.js"
   },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "browserify-shim": {
    "jquery": "$",
    "bootstrap": {
      "depends": [
        "jquery:jQuery"
      ]
     },
    "datatables": {
      "exports": "DataTable",
      "depends": [
        "jquery:$"
      ]
     },
    "dt-bootstrap": {
      "depends": ["jquery:$", "datatables:DataTable"]
    },
    "dt-select": {
      "depends": ["jquery:jquery", "datatables:DataTable"]
    }
  },
当我试图:

import dtBootstrap from 'dt-bootstrap'
import $ from 'jquery'
import bootstrap from 'bootstrap'
import DataTable from 'datatables'

// Include any of this modules gives error.
import dtBootstrap from 'dt-bootstrap'
import dtSelect from 'dt-select'
browserify之后,浏览器会出现以下错误:

Uncaught Error: Cannot find module 'jquery'
仅当我尝试执行以下操作时,才会出现此错误:

import dtBootstrap from 'dt-bootstrap'
import $ from 'jquery'
import bootstrap from 'bootstrap'
import DataTable from 'datatables'

// Include any of this modules gives error.
import dtBootstrap from 'dt-bootstrap'
import dtSelect from 'dt-select'
当我不使用它们并且只使用这个时,一切都会好起来:

import $ from 'jquery'
import bootstrap from 'bootstrap'
import DataTable from 'datatables'

// No include no error.
//import dtBootstrap from 'dt-bootstrap'
//import dtSelect from 'dt-select'
它们使用DataTables库中的工厂模式

有人知道我做错了什么吗?
我尝试了许多配置来包含DataTables扩展依赖项。

我已经从DataTables站点生成了外部DataTables.js文件,并将其包含到供应商中。 然后在我的browserify shim配置中使用它。一切都好

  "browser": {
    "jquery": "./node_modules/jquery/dist/jquery.js",
    "bootstrap": "./node_modules/bootstrap/dist/js/bootstrap.js",
    "datatables": "./source/vendors/js/datatables.js"
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
 "browserify-shim": {
   "jquery": "$",
   "bootstrap": {
     "depends": [
     "jquery:jQuery"
   ]
  },
 "datatables": {
   "exports": "DataTable",
   "depends": [
     "jquery:$"
   ]
 }
},