Estoy tratando de importar módulos de tensorflowjs, y debajo está mi código. prueba.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title </head> <body> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script> <script type="module" src="./test.js"></script> </body> </html>prueba.js
import * as tf from "./node_modules/@tensorflow/tfjs"; import {loadGraphModel} from "./node_modules/@tensorflow/tfjs-converter"; const MODEL_URL = './model.json'; const model = await loadGraphModel(MODEL_URL); const cat = document.getElementById('cat'); model.execute(tf.browser.fromPixels(cat)); Además, ejecuto el servidor usando python -m http.server en mi símbolo del sistema (Windows 10), y este es el mensaje de error en el registro de la consola de mi navegador:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.Puede usar la siguiente secuencia de comandos de python para servir sus archivos:
serve.py
import http.server import socketserver import sys PORT = 8000 if len(sys.argv) > 1: PORT = int(sys.argv[1]) class HttpRequestHandler(http.server.SimpleHTTPRequestHandler): extensions_map = { # '': 'application/octet-stream', '': 'text/html', '.manifest': 'text/cache-manifest', '.html': 'text/html', '.png': 'image/png', '.jpg': 'image/jpg', '.svg': 'image/svg+xml', '.css': 'text/css', '.js':'application/x-javascript', '.wasm': 'application/wasm', '.json': 'application/json', '.xml': 'application/xml', } httpd = socketserver.TCPServer(("localhost", PORT), HttpRequestHandler) try: print(f"serving at http://localhost:{PORT}") httpd.serve_forever() except KeyboardInterrupt: passdespués:
python ./serve.py 8000
De forma predeterminada, http.server no se ocupa de los tipos mime. Los scripts anteriores indican qué tipo de MIME usar en el encabezado de respuesta según la extensión del archivo.
Si usa Node.js, puede usar el paquete http-server para servir sus archivos.
npm install --global http-server http-server O alternativamente, use: npx http-server
Consulte la documentación para obtener más detalles y opciones.