koa2中使用ejs 读取外部js文件问题
用Koa2写了一个注册接口,用boostrap写了一个注册页面测试接口。前端页面用的是axios,把项目跑起来发现数据可以获取到,页面也正常显示,但是在浏览器控制台报错了。错误是:获取不到jQuery.js和获取不到自己写的register.js文件,报的是404错误。(由于过后才写的随笔,没有截图到)解决思路:检查引入的js文件顺序有没有错误,检查路径有没有写错。经过一一检查发现都没有错误。报的还是error:http://127.0.0.1:8000/public/register.js NOT FUND
于是乎想到这外部的Js文件是不是用另外加载,因为在以前用ejs模板的时候只是简单测试,js文件和html文件都是放在一起的并没有分离开来。于是翻阅Koa文档:
npm install koa-static
const Koa = require(‘koa‘);
const app = new Koa();
app.use(require(‘koa-static‘)(root, opts));
我的代码是:
const path=require("path");
const static=require("koa-static);
app.use(static(path.resolve(__dirname,./views/public)));
//因为Js文件在views>public>js
再次把项目跑起来,发现问题还是没有解决,错误还是之前一样。
于是又发现了一个问题:
我在ejs模板里面引入的Js文件是当前文件的相对路径<script src="./public/js/register.js /script>"
然而应该是相当public的<script src="js/register.js /script>
后把项目再次运行,没有报错。
后把js路径改换