is the vue project webpack proxyTable used only in the development environment? Now the code is not cross-domain in the development environment, but even cross-domain when packaged online. How to do
1 at present, the development environment does not use proxyTable to solve cross-domain problems, but is solved by background php.
2 does not package cross-domain, npm run build to run on the server during the development environment, so the interface is cross-domain
can you set anything at the front end to solve the problem
=
< hr >let config = {
env: "development",
baseUrl: "http://apidev.211shouyintai.com/api"
};
export default config;
const path = require ("path");
const os = require (" os");
const webpack = require ("webpack");
const ExtractTextPlugin = require (" extract-text-webpack-plugin");
const HappyPack = require ("happypack");
var happyThreadPool = HappyPack.ThreadPool ({size: os.cpus (). Length});
function resolve (dir) {
return path.join(__dirname, dir);
}
module.exports = {
entry: {
main: "@/main",
"vender-base": "@/vendors/vendors.base.js",
"vender-exten": "@/vendors/vendors.exten.js"
},
output: {
path: path.resolve(__dirname, "../dist/dist")
},
module: {
rules: [
{
test: /\.vue$/,
loader: "vue-loader",
options: {
loaders: {
css: "vue-style-loader!css-loader",
less: "vue-style-loader!css-loader!less-loader"
},
postLoaders: {
html: "babel-loader"
}
}
},
{
test: /iview\/.*?js$/,
loader: "happypack/loader?id=happybabel",
exclude: /node_modules/
},
{
test: /\.js$/,
loader: "happypack/loader?id=happybabel",
exclude: /node_modules/
},
{
test: /\.js[x]?$/,
include: [resolve("src")],
exclude: /node_modules/,
loader: "happypack/loader?id=happybabel"
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
use: ["css-loader?minimize", "autoprefixer-loader"],
fallback: "style-loader"
})
},
{
test: /\.less$/,
use: ExtractTextPlugin.extract({
use: ["css-loader?minimize","autoprefixer-loader", "less-loader"],
fallback: "style-loader"
}),
},
{
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
loader: "url-loader?limit=1024"
},
{
test: /\.(html|tpl)$/,
loader: "html-loader"
}
]
},
plugins: [
new HappyPack({
id: "happybabel",
loaders: ["babel-loader"],
threadPool: happyThreadPool,
verbose: true
})
],
resolve: {
extensions: [".js", ".vue"],
alias: {
"vue": "vue/dist/vue.esm.js",
"@": resolve("../src"),
}
}
};
< hr > const webpack = require ("webpack");
const HtmlWebpackPlugin = require (" html-webpack-plugin");
const ExtractTextPlugin = require ("extract-text-webpack-plugin");
const CopyWebpackPlugin = require (" copy-webpack-plugin");
const merge = require ("webpack-merge");
const webpackBaseConfig = require (". / webpack.base.config.js");
const fs = require ("fs");
const package = require (".. / package.json");
module.exports = merge (webpackBaseConfig, {
devtool: "-sharpsource-map",
output: {
publicPath: "/dist/",
filename: "[name].js",
chunkFilename: "[name].chunk.js"
},
plugins: [
new ExtractTextPlugin({
filename: "[name].css",
allChunks: true
}),
new webpack.optimize.CommonsChunkPlugin({
name: ["vender-exten", "vender-base"],
minChunks: Infinity
}),
new HtmlWebpackPlugin({
title: "iView admin v" + package.version,
filename: "../index.html",
inject: false
}),
new CopyWebpackPlugin([
{
from: "src/views/main_components/theme_switch/theme"
}
])
]
});
< hr > const webpack = require ("webpack");
const HtmlWebpackPlugin = require (" html-webpack-plugin");
const ExtractTextPlugin = require ("extract-text-webpack-plugin");
const CopyWebpackPlugin = require (" copy-webpack-plugin");
const cleanWebpackPlugin = require ("clean-webpack-plugin");
const UglifyJsParallelPlugin = require (" webpack-uglify-parallel");
const merge = require ("webpack-merge");
const webpackBaseConfig = require (". / webpack.base.config.js");
const os = require ("os");
br = const fs (" br);
const path = require ("path");
const package = require (".. / package.json");
module.exports = merge (webpackBaseConfig, {
output: {
publicPath: "http://pmy.211shouyintai.com/dist/", // https://iv...admin
filename: "[name].[hash].js",
chunkFilename: "[name].[hash].chunk.js"
},
plugins: [
new cleanWebpackPlugin(["dist/*"], {
root: path.resolve(__dirname, "../")
}),
new ExtractTextPlugin({
filename: "[name].[hash].css",
allChunks: true,
}),
new webpack.optimize.CommonsChunkPlugin({
// name: "vendors",
// filename: "vendors.[hash].js"
name: ["vender-exten", "vender-base"],
minChunks: Infinity
}),
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: ""production""
}
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
// new UglifyJsParallelPlugin({
// workers: os.cpus().length,
// mangle: true,
// compressor: {
// warnings: false,
// drop_console: true,
// drop_debugger: true
// }
// }),
new CopyWebpackPlugin([
{
from: "td_icon.ico"
},
{
from: "src/styles/fonts",
to: "fonts"
},
{
from: "src/views/main_components/theme_switch/theme"
}
]),
new HtmlWebpackPlugin({
title: "Pro",
favicon: "./td_icon.ico",
filename: "../index.html",
template: "!!ejs-loader!./src/template/index.ejs",
inject: false
})
]
});