vue打包成功后直接将文件上传到oss
1:先安装 npm install aliyunoss-webpack-plugin --save-dev
2:直接看代码 文件名build.oss.test
var ossWebpackUpload = require(aliyunoss-webpack-plugin)
/**初始话 */
var ossLoad = new ossWebpackUpload({
buildPath: dist/**,
region: oss-cn-hubei[实际region],//这里只填地域部分,不要复制的太全了
accessKeyId: 您的key,
accessKeySecret: 您的密钥,
bucket: test-vue-oss[您的实际bucket],
deleteAll: true,
generateObjectPath: function(filename,file) {
return file.replace(/dist//, );
},
getObjectHeaders: function(filename) {
return {
Expires: 6000
}
}
});
/**上传 */
ossLoad.apply()
使用说明: 1:若想先打包,后上传 可以直接配置package.json上传的命令如:“build-oss-test”: “node build/build.oss-test.js” 然后先正常build 然后再 npm run build-oss-test
2:若想打包时就直接上传到oss 可以在对应环境的build-test.js下方中加入const ossUpload = require(build.oss.test) 注意路径 下面是部分贴图
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) +
)
if (stats.hasErrors()) {
console.log(chalk.red( Build failed with errors.
))
process.exit(1)
}
console.log(chalk.cyan( Build complete.
))
console.log(chalk.yellow(
Tip: built files are meant to be served over an HTTP server.
+
Opening index.html over file:// won work.
))
const ossUpload = require(build.oss.test) //其他不要动,只需要加这里
})
个人感觉放在这里可以保证打包成功之后才上传,如果放在打包的conf.js里面,会出现 仅仅上传了index
