Handsontable 相关错误找不到模块 numbro、moment、pikaday、ZeroClipboard

Posted

技术标签:

【中文标题】Handsontable 相关错误找不到模块 numbro、moment、pikaday、ZeroClipboard【英文标题】:Handsontable related error cannot find modules numbro, moment, pikaday, ZeroClipboard 【发布时间】:2017-08-24 15:45:00 【问题描述】:

我添加了 handsontable-pronumbromomentpikadayZeroClipboard 在我的package.json 依赖项中,例如:

"dependencies": 
    "numbro": "^1.9.0",
    "moment": "^2.14.1",
    ...
 

并将这些库导入到我的 angular1.5 app.ts 文件中,如下所示:

import 'handsontable-pro';
import 'numbro';
import 'moment';
...

在运行 npm installnpm run build 并构建和运行我的项目后,我在 Chrome 的开发人员工具控制台中收到以下错误:

Uncaught Error: Cannot find module 'numbro'
    at newRequire (handsontable.js:48)
    at handsontable.js:55
    at Object.23.cellTypes (handsontable.js:4238)
    at newRequire (handsontable.js:53)
    at handsontable.js:55
    at Object.125.../node_modules/hot-builder/node_modules/handsontable/src/browser (handsontable.js:21831)
    at newRequire (handsontable.js:53)
    at outer (handsontable.js:61)
    at handsontable.js:66
    at handsontable.js:22

还有其他模块。有什么想法吗?谢谢。

【问题讨论】:

【参考方案1】:

运行这个命令 npm install angular-handsontable 这将安装所需的依赖项。

https://handsontable.github.io/angular-handsontable/quick-start

【讨论】:

【参考方案2】:

其中一些依赖项需要全局公开。如果你使用 webpack,你可以这样做:

module: 
    rules: [
       
          test: /(\.js)|(\.jsx)$/,
          exclude: /node_modules/, 
          use: [ 
              loader: 'babel-loader', 
              options: 
                  presets: ['react', 'es2015']
               
          ]
      , 
          test: require.resolve('numbro'),
          use: [
              loader: 'expose-loader',
              options: 'numbro'
          ]
        , 
          test: require.resolve('moment'),
          use: [
              loader: 'expose-loader',
              options: 'moment'
          ]
        , 
          test: require.resolve('pikaday'),
          use: [
              loader: 'expose-loader',
              options: 'Pikaday'
          ]
        , 
          test: require.resolve('zeroclipboard'),
          use: [
              loader: 'expose-loader',
              options: 'ZeroClipboard'
          ]
        
    ]
  ,

【讨论】:

以上是关于Handsontable 相关错误找不到模块 numbro、moment、pikaday、ZeroClipboard的主要内容,如果未能解决你的问题,请参考以下文章

每当我尝试在 VS Code 中运行任何与 npm 相关的命令时,都会出现路径错误:[找不到模块]

Heroku:错误:找不到模块 node-gyp

动态图像路径在 Require 函数中不起作用:找不到此相关模块

如何修复错误“找不到此相关模块:* ./src/main.js in multi (webpack)-dev-server”在 npm run serve in vue3.x with typescr

本地计算机无法启动server服务 错误126:找不到指定的模块

怎么解决win7“126找不到指定模块”这个问题