#javascript #vue.js #import #module #dependency-management
#javascript #vue.js #импорт #модуль #управление зависимостями
Вопрос:
я использую vue-mathjax в своем проекте, и в readme говорится, что использование cdn MathJax отлично работает с версией CDN
мне нужно использовать MathJax (v. 2.7.2) как локальную зависимость для моего проекта, но я не знаю, как импортировать его с правильными конфигурациями
как настроить конфигурацию так же, как в версии cdn?
CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS_HTML"></script>
Локальный импорт после установки с помощью npm
//main.js
import '../node_modules/mathjax/MathJax?config=TeX-AMS_HTML'
ошибка
Uncaught SyntaxError: Unexpected token '<'
репозиторий — https://github.com/qwtfy/mathjax-test
Ответ №1:
Если вы можете переключиться на новую версию 3, вот шаги, предполагающие, что у вас уже есть vue-mathjax.
- Установите MathJax из npm:
npm install mathjax@3
- Переместите каталог es5 MathJax в общедоступный каталог:
mv node_modules/mathjax/es5/ src/assets/mathjax/
- Импортируйте конфигурацию компонента, которую вы хотите, например:
import '../assets/mathjax/es5/tex-chtml.js';
Если вы должны придерживаться версии 2.7.x, вам нужно будет сделать следующее. В моем тестировании он был менее стабильным.
- Установите MathJax 2.7.9 из npm:
npm install --save mathjax@2.7.9
- Переместить MathJax.js (находится по адресу node_modules/mathjax/MathJax.js ) в общедоступный каталог, например assets.
- Переместить TeX-AMS_HTML.js (находится по адресу node_modules/mathjax/config/TeX-AMS_HTML.js ) к тому же государственному директору.
- Импортируйте оба файла внутри вашего компонента по порядку:
import '../assets/MathJax.js'
import '../assets/TeX-AMS_HTML.js';
Здесь это работает для меня:
Полный пример компонента из одного файла с использованием v3 и vue-mathjax.
<template lang='pug'>
div
b-container(style='width: 40%')
b-textarea(v-model='formula' cols='30' rows='10')
p output
vue-mathjax(:formula='formula')
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { VueMathjax } from 'vue-mathjax';
import '../assets/mathjax/es5/tex-chtml.js';
@Component({
components: {
'vue-mathjax': VueMathjax,
},
})
export default class HelloWorld extends Vue {
formula = '$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$';
}
</script>
Комментарии:
1. я следовал вашим шагам, и сначала он отображается, но через некоторое время возникает ошибка «Ошибка математической обработки»
2. я сделал репо с ошибкой. если бы вы могли взглянуть, это было бы очень ценно