look997
#javascript #frontend #webdev #nodejs #svelte
Dlaczego mexp.eѵal("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.
  • Najlepsze
  • Wszystkie komentarze
lobo
lobo
1
@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ą :)
lobo
lobo
0
lobo
lobo
0
@look997: Zapewne na bundlowaniu masz dodawane
look997
look997 Autor
0
@lobo: I co zrobić?
lobo
lobo
0
@look997: nie dodawać strict mode :)
lobo
lobo
0
@look997: ewentualnie posprawdzać wersje czy któraś nie jest poprawiona
lobo
lobo
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
lobo
lobo
0
@look997: w niezminifikowanej jest ok
look997
look997 Autor
0
@lobo: Chyba moduły same używają strict mode? Ja nie włączałem ręcznie z 'use strict'.
look997
look997 Autor
0
@lobo: Jak użyć niezminifikowanej w komponencie?
lobo
lobo
0
@look997: nie znam svelta i tej biblioteki, ale samo importowanie powinno działać bo on powinien ciągnąć ze źródeł
lobo
lobo
0
@look997: założyłbym bym im pewnie buga jakbym nie znalazł po pogrzebaniu
look997
look997 Autor
0
@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
lobo
lobo
0
@look997:


var nodes = [];
var length = string.length;
for (i = 0; i < length;
lobo
lobo
0
@look997: wklej początek kodu wygenerowanego przez twój bundler tak pierwsze 100 znaków
lobo
lobo
0
@look997: to co przeglądarka serwuje i czego używasz do bundlowania
lobo
lobo
0
@look997: w rollup to teoretycznie useStrict: false
lobo
lobo
0
@look997: znaczy strict: false lub --no-strict :)
look997
look997 Autor
0
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
lobo
lobo
0
var app = (function () {

'use strict';


@look997: to prawdopodobnie ci psuje