无法将javascript从index.html移动到外部文件

时间:2018-09-09 00:38:54

标签: javascript html node.js google-chrome

我正在一个简单的tensorflow.js项目上工作,并且如果我将js代码放在index.html文件中,则可以无错误地运行所有内容,但是如果我尝试引用外部js文件,则会收到错误消息(这是在Chrome中-尽管我在Firefox中也遇到了错误):

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <title>Playing with TensorFlow.js</title>
  <!-- Load TensorFlow.js -->
  <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.12.5"> </script>
  <!-- Place your code in the script tag below. You can also use an external .js file -->
  <script type = "text/javascript" src = "../server/app.js"></script>
</head>

<body>
</body>

</html>

所引用的外部JS文件包含以下代码:

// Define a model for linear regression.
const model = tf.sequential();
model.add(tf.layers.dense({ units: 1, inputShape: [1] }));

// Prepare the model for training: Specify the loss and the optimizer.
model.compile({ loss: 'meanSquaredError', optimizer: 'sgd' });

// Generate some synthetic data for training.
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

// Train the model using the data.
model.fit(xs, ys, { epochs: 10 }).then(() => {
  // Use the model to do inference on a data point the model hasn't seen before:
  // Open the browser devtools to see the output
  model.predict(tf.tensor2d([5], [1, 1])).print();
});

上面的代码看起来正确吗?这只是Chrome的安全默认设置吗?有办法解决吗?

顺便说一句,这是错误:

  

获取http://localhost:4800/server/app.js 404(未找到)localhost /:1

     

拒绝执行“ http://localhost:4800/server/app.js”中的脚本   因为它的MIME类型('text / html')是不可执行的,并且是严格的MIME   类型检查已启用。

1 个答案:

答案 0 :(得分:1)

这听起来很傻,但是文件名中是否存在拼写错误?浏览器找不到文件。该文件肯定在“服务器”文件夹中吗?也许,请尝试将.js文件放置在根文件夹中,并且只保留Javascript文件名而没有任何目的地。从外观上看,这将是一个简单但愚蠢的错误。