Moment无法与webpack一起使用(打字稿+ babel)

时间:2018-08-24 01:54:11

标签: javascript typescript momentjs

就像demo一样,当我在项目中添加内容时,一旦我将其移除就可以了,webpack构建的捆绑包就会失败。

注意:tsconfig.json中的模块设置为es6,这正是我所需要的,当将其切换到commonjs时,也可以。

有人告诉我你们都在这里,非常感谢您~~~

1 个答案:

答案 0 :(得分:0)

运行它并禁用缩小模式后,我看到了问题是您如何使用矩。您可以使用此配置来查看未精简代码的问题:

entry: './src/index.tsx',
  mode: 'production',
  output: {
    path: path.join(__dirname, 'lib'),
    filename: 'index.js',
  },
  module: {
    rules: [
      {
        test: /\.(tsx|ts)$/,
        exclude: /node_modules/,
        use: ['babel-loader', 'ts-loader'],
      },
    ],
  },
  optimization: {
        // We no not want to minimize our code.
        minimize: false
  },

更改后,出现错误moment is not a function。所以这是一个问题,当webpack捆绑以及如何瞬间导出其功能 https://github.com/palantir/blueprint/issues/959 您可以通过

对其进行修复
const moment = require('moment')

将此功能用作文档或

moment.toString()

获取当前时间。

或者像https://momentjs.com/docs/#/use-it/typescript/一样更改tsconfig中的选项