【问题标题】:ES6 Style Import: Trouble requiring markdown-it in Vue componentES6 样式导入:在 Vue 组件中需要 markdown-it 时遇到问题
【发布时间】:2020-01-12 02:09:34
【问题描述】:

我有一个 vue 组件,我想引入一个 NPM 包,但我不确定 ES6 语法。我有一个 laravel 应用程序,它使用 babel 从 ES6 进行翻译,以防你想知道。我为超级入门级的问题道歉,但我就是不知道我做错了什么。

https://www.npmjs.com/package/markdown-it

文档显示了 required() 语法,就好像我在运行 vanilla 节点(我认为;javascript 不是我的主要语言)

// node.js, "classic" way:
var MarkdownIt = require('markdown-it'),
md = new MarkdownIt();
var result = md.render('# markdown-it rulezz!');

但是,我想像这样导入它:

import Csrf from './../Form/Csrf'; // Vue component
import { Validator, mixin as validator_mixin } from 'simple-vue-validator'; // Other package I'm pulling in
// Package I can't get to pull in correctly
import { MarkdownIt } from 'markdown-it'; 

如果我尝试将其用作构造函数,我会得到:

"TypeError: _markdownIt.MarkdownIt is not a constructor"

如果我 console.log() 它,我会得到空值。 PhpStorm 突出显示它,就好像它无法解析包一样。如果我仔细研究这个包,看起来他们实际上是在导出我认为我正在导入的模块。任何意见将不胜感激。

使用它作为构造函数并得到错误让我认为我正朝着正确的方向前进,因为输出中显示的似乎是“受保护”属性。

【问题讨论】:

  • 您是否尝试过在导入语句中删除 MarkdownIt 周围的花括号?
  • 做到了!我没有意识到命名导入和非命名之间的区别。我认为这是语法糖与更冗长的方式。我很抱歉提出这样一个 RTM 类型的问题。
  • 更重要的是谢谢!

标签: vue.js npm ecmascript-6


【解决方案1】:

根据詹姆斯的回复,删除花括号为我解决了这个问题。对于基本的brogrammer 问题,我深表歉意。

【讨论】:

    猜你喜欢
    • 2017-02-18
    • 2020-07-30
    • 2019-06-29
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多