Wpis z mikrobloga

#javascript #frontend #webdev #nodejs #svelte
Dlaczego mexp.eval("1/2") dział w codesanbox:
https://codesandbox.io/s/priceless-rain-4ei4s?file=/App.svelte

A lokalni użycie libki math-expression-evaluator zwraca:

Uncaught ReferenceError: assignment to undeclared variable i
tokenize lexer.js:162
lex lexer.js:230
eval postfix_evaluator.js:93
create_fragment$2 App.svelte:15
init index.mjs:1486
App bundle.js:2678
app main.js:3
bundle.js:2697

?
Wymaga jakiegoś drugiego parametru, nie wiem.

Jak używać tak:
``
to też działa, ale chcę zrozumieć o co chodzi.
  • 22
@lobo: U mnie użycie tak, nie pomogło:

import mexp from "math-expression-evaluator/dist/browser/math-expression-evaluator.js";
Ogólnie byleDziałało mogę załadować z
@look997: jednak błąd jak spojrzałem jest również w niezminifikowanym tylko w innym miejscu w pliku lexer.js więc albo pobawisz się w konfiguracje twojego bundlera , albo napiszesz im buga albo im zrobisz pull requesta z poprawką :)
@look997:


var nodes = [];
var length = string.length;
for (i = 0; i < length; i++) {
if (i < length - 1 && string[i] === ' ' && string[i + 1] === ' ') {
continue
}
key = ''
for (x = (string.length - i >

powinno być

function tokenize(string) {
var nodes = [];
var length = string.length;
for (var i = 0; i < length; i++)
wklej początek kodu wygenerowanego przez twój bundler tak pierwsze 100 znaków


@lobo:

(function(l, r) { if (l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (window.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(window.document);
var app = (function () {
'use strict';

function noop() { }
function addlocation(element, file, line, column, char) {
element.
sveltemeta = {
loc: { file, line, column, char }
};