最后
除了简历做到位,面试题也必不可少,整理了些题目,前面有117道汇总的面试到的题目,后面包括了HTML、CSS、JS、ES6、vue、微信小程序、项目类问题、笔试编程类题等专题。
-
静态资源服务器的实现方式有很多,基本每种服务端语言都有对应的框架或容器,比如 Java 的 Tomcat、以及 Python、PHP、Node.js 等,另外还有较为专业的 HTTP 和反向代理 Web 服务器 Nginx,均可实现这一目标。
-
这里选择 Node.js 实现的静态资源服务器,主要原因是其语法也是 JavaScript,与前端的 Vue 通用;另外在 Node 的生态下,已经有现成的库实现了跨域,关键是跟 Vue 在开发环境下跨域完全一样,平滑迁移,无缝切换。
效果
Note: 这篇文章的内容比较简单,就是基于 koa 实现了一个静态资源服务器,直接上核心代码,就不放到华为云了。部署时将该 Node.js 项目放到 Linux 的目录 A,然后前端 Vue 的 dist 静态资源文件夹直接放到目录 A 即可。
Node.js 代码index.js
const path = require(“path”);
const Koa = require(“koa”);
const static = require(“koa-static”);
const httpProxyMiddleware = require(“http-proxy-middleware”);
const koaConnect = require(“koa2-connect”);
const app = new Koa();
app.use(static(path.join(__dirname, “dist”)));
const proxy = function(context, options) {
if (typeof options === “string”) {
options = {
target: options
};
}
return async function(ctx, next) {
await koaConnect(httpProxyMiddleware(context, options))(ctx, next);
};
};
// proxy config:生产环境跨域
const proxyTable = {
“/3rd”: {
target: “http://www.tuling123.com/openapi/api”,
changeOrigin: true,
pathRewrite: {
“^/3rd”: “”
}
},
“/api”: {
target: “http://114.116.31.223:8080”,
changeOrigin: true
// pathRewrite: {
// ‘^/api’: ‘’
// }
}
};
Object.keys(proxyTable).map(context => {
const options = proxyTable[context];
app.use(proxy(context, options));
});
const port = process.env.PORT || 8888;
app.listen(port, () => {
console.log(Koa app listening at ${port}...
);
});
Note: 开发环境跨域
Vue
在开发环境下的跨域配置与生产环境下的跨域配置写法完全一致,这是用Node.js
来实现此静态资源服务器的优势。
Node.js 配置package.json
最后
推荐一些系统学习的途径和方法。
每个Web开发人员必备,很权威很齐全的Web开发文档。作为学习辞典使用,可以查询到每个概念、方法、属性的详细解释,注意使用英文关键字搜索。里面的一些 HTML,CSS,HTTP 技术教程也相当不错。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
HTML 和 CSS: