我試圖構建一個概念證明應用程序,它使用DC.js引入一些靜態數據並將其可視化。我們決定使用Vue.js作爲我們的框架,並使用Webpack作爲我們的構建工具。我在基本配置中包含了D3.js,Crossfilter和DC.js。Vue,Webpack,DC.js和Finally Crossfilter
resolve: {
extensions: ['', '.js', '.vue'],
fallback: [path.join(__dirname, '../node_modules')],
alias: {
'src': path.resolve(__dirname, '../src'),
'assets': path.resolve(__dirname, '../src/assets'),
'components': path.resolve(__dirname, '../src/components'),
'd3': path.resolve(__dirname, '../bower_components/d3/d3.min.js'),
'crossfilter': path.resolve(__dirname, '../bower_components/crossfilter/crossfilter.min.js'),
'dc': path.resolve(__dirname, '../bower_components/dcjs/dc.js') // using unminified version to look at exactly where the error is coming from
}
}
並在與實際的可視化組件文件如此。
var d3 = require('d3')
var cf = require('crossfilter')
var crossfilter = cf.crossfilter
var dc = require('dc')
然而DC.js需要crossfilter工作,它掛在一個呼叫的第一個實例DC.js.的範圍內crossfilter進一步,我加載頁面後,我不能再訪問crossfilter
在控制檯,但我可以訪問D3
。 D3.js作爲一種全球性需求將什麼帶入不作爲跨界過濾器?
我在這裏忽略了一些配置嗎?
您可以使用'{externals:'crossfilter':'crossfilter'}'並將'bower_components'添加到您的解析目錄列表(https://webpack.github.io/docs/configuration.html#resolve-modulesdirectories )? – Jay