返回
Vue Cli4 搭建 Vue3 TSX 移动端项目(三)资源上传 CDN、Express 启动服务、Dockerfile
前端
2023-10-02 23:56:52
在项目实际开发中,我们会面临前端静态资源存储的问题。如果项目需要搭建cdn,以及构建一个简单的server来启动项目。
这一节我们就着重来学习一下这两个问题如何解决。
一、资源上传cdn
这里我们采用阿里云的oss对象存储上传我们的静态资源。
我们首先需要获取accessKeyId, accessKeySecret, bucketName等信息。
// 创建Bucket对象
const bucket = new OSS({
accessKeyId: 'xxxxxx', // accessKeyId
accessKeySecret: 'xxxxxx', // accessKeySecret
bucket: 'test-bucket', // bucketName
region: 'oss-cn-beijing' // OSS Region
})
接下来我们新建一个js文件来上传图片。
// 图片上传
onUploadPic() {
const file = this.refFileUpload.value.files[0];
if (!file) {
return;
}
this.imgUrl = ''
const fileName = new Date().getTime() + file.name;
const filePath = 'static/' + fileName
bucket.put(filePath, file).then((res) => {
if (res.res.status === 200) {
this.imgUrl = `https://test-bucket.oss-cn-beijing.aliyuncs.com/${filePath}`
this.showMessage('上传成功')
}
}).catch((err) => {
console.error(err)
});
}
二、Express 启动服务
项目本地的启动服务不能被其他机器所访问到,我们需要将这个服务部署到云端。
在项目的根目录创建 app.js 文件。
const express = require('express')
const app = express()
// 静态资源托管
app.use(express.static('public'))
const port = 3000
app.listen(port, () => {
console.log(`server running at port ${port}`)
})
public
文件夹和app.js
文件位于同一层。
三、Dockerfile
创建Dockerfile。
FROM node:16
WORKDIR /usr/src/app
COPY package.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "app.js" ]
执行 docker build -t my-app .
命令构建镜像。
最后将打包好的项目推送到云端即可。
结语
这节主要介绍了使用cdn上传静态资源,启动express来发布项目和如何配置Dockerfile。
有不懂得欢迎留言交流!