我正在尝试使用与Webpack一起编译的VueJS项目的Handsontable seets组件。但是我得到了一个‘找不到模块numbro’的错误,即使我不在模块中导入numbro也会发生。我已经根据下面的package.json安装了所有的包
npm installpackage.json:
"dependencies": {
"vue": "^2.1.10",
"handsontable": "^0.31.1",
"moment": "^2.18.1",
"numbro": "^1.10.1",
"pikaday": "^1.5.1",
"vue-handsontable": "^0.0.2",
"zeroclipboard": "^2.3.0"
},正如这里提到的:https://github.com/handsontable/handsontable/issues/3407我将Handsontable的四个依赖项添加到了webpack配置文件的模块加载器部分。
webpack.config.js
module: {
loaders: [
{
test: require.resolve('numbro'),
loader: 'expose?numbro'
},
{
test: require.resolve('moment'),
loader: 'expose?moment'
},
{
test: require.resolve('pikaday'),
loader: 'expose?Pikaday'
},
{
test: require.resolve('zeroclipboard'),
loader: 'expose?ZeroClipboard'
}]TableView.vue
<template>
<div id="hot-preview">
<cool-table :data="data" :settings="{}"></cool-table>
</div>
</div>
</template>
<script>
import moment from 'moment'
import numbro from 'numbro'
import pikaday from 'pikaday'
import Zeroclipboard from 'zeroclipboard'
import Handsontable from 'handsontable'
import CoolTable from 'vue-handsontable'
export default {
name: 'TablesView',
data () {
return {
data: [
['', 'Kia', 'Nissan', 'Toyota', 'Honda'],
['2008', 10, 11, 12, 13],
['2009', 20, 11, 14, 13],
['2010', 30, 15, 12, 13]
]
}
},
components: {
CoolTable
}
}
</script>当我编译并运行我的VueJS项目时,我得到一个控制台错误:
Error: Cannot find module 'numbro'我可以在node_modules文件夹中看到一个包含numbro.js的numbro文件夹。有没有可能出问题的原因?
发布于 2017-04-02 08:50:48
为了让Handsontable正常工作,我将webpack.config.js改为使用expose-loader:
loader: 'expose-loader?numbro'然后我安装了expose-loader
npm install expose-loaderhttps://stackoverflow.com/questions/43141047
复制相似问题