javascript - 引用圖片路勁問(wèn)題
問(wèn)題描述
圖片的引用:
<img src='http://www.4tl426be.cn/assets/image/setting.png'/>
目錄結(jié)構(gòu):
寫(xiě)的相對(duì)路勁,為什么圖片沒(méi)有顯示出來(lái)?console提示:
webpack:
var path = require('path');var webpack = require('webpack');var HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: ['react-hot-loader/patch','webpack-dev-server/client?http://0.0.0.0:3000','webpack/hot/only-dev-server','babel-polyfill','whatwg-fetch','./src/index' ], devServer: {hot: true,contentBase: path.resolve(__dirname, 'dist'),port: 3000,host: '0.0.0.0',publicPath: '/',historyApiFallback: true,disableHostCheck: true,proxy: { '/agent': {target: 'http://dn4:19000',changeOrigin: true, }, '/api': {target: 'http://dn4:19989',changeOrigin: true, }, '/sign': {target: 'http://dn4:19000',changeOrigin: true, }, '/file': {target: 'http://dn4:19000',changeOrigin: true, },} }, output: {path: path.join(__dirname, 'dist'),publicPath: '/',filename: 'app.[hash].js' }, devtool: 'eval', module: {rules: [ {test: /.js$/,exclude: /node_modules/,loader: 'babel-loader',options: { presets: [['es2015', {'modules': false}],'stage-0','react' ], plugins: ['transform-async-to-generator','transform-decorators-legacy',['import', {'libraryName': 'antd', 'style': true}] ]} }, {test: /.scss|css$/,use: [ 'style-loader', 'css-loader', 'postcss-loader', 'resolve-url-loader', 'sass-loader?sourceMap'] }, {test: /.less$/,use: [{ loader: 'style-loader' // creates style nodes from JS strings}, { loader: 'css-loader' // translates CSS into CommonJS}, { loader: 'less-loader', options: {modifyVars: { 'primary-color': '#0183ff', 'font-size-base': '16px',} } // compiles Less to CSS}] }, {test: /.(jpe?g|png|gif|svg)$/i,use: [ 'file-loader?hash=sha512&digest=hex&name=[hash].[ext]', {loader: 'image-webpack-loader',options: { progressive: true, optimizationLevel: 7, interlaced: false, pngquant: {quality: '65-90',speed: 4 }} }] }, {test: /.woff(2)?(?v=[0-9].[0-9].[0-9])?$/,use: 'url-loader?limit=10000&mimetype=application/font-woff' }, {test: /.(ttf|eot|svg)(?v=[0-9].[0-9].[0-9])?$/,use: 'file-loader' }] }, plugins: [new webpack.NamedModulesPlugin(),new webpack.HotModuleReplacementPlugin(),new HtmlWebpackPlugin({hash: false, template: './index.hbs'}),new webpack.ContextReplacementPlugin(/moment[/]locale$/, /nb/) ]};
原因找到了:
contentBase: path.resolve(__dirname, 'dist'),
路勁應(yīng)該寫(xiě)相對(duì)于dist的路徑但是現(xiàn)在又有一個(gè)問(wèn)題!這樣寫(xiě)在生產(chǎn)環(huán)境肯定是顯示不了圖片的!我不打算將靜態(tài)資源放在/dist下,樓下說(shuō)了static文件的方法,這個(gè)應(yīng)該要配置webpack,有沒(méi)有朋友分享一下
問(wèn)題解答
回答1:靜態(tài)資源的問(wèn)題已解決,解決方案:使用webpack的一個(gè)插件,生產(chǎn)環(huán)境編譯時(shí)可以將/static目錄的文件拷貝到/dist目錄下
new CopyWebpackPlugin([ {from: path.resolve(__dirname, ’static’),to: path.resolve(__dirname, ’dist/static’),ignore: [’*.js’] }])
開(kāi)發(fā)的時(shí)候的時(shí)候webpack-devserver配置:
contentBase: path.resolve(__dirname),publicPath: '/',
這樣在代碼里面只要寫(xiě)絕對(duì)路徑/static/..就行了
回答2:你寫(xiě)img的文件在哪里啊? '../assets/image/setting.png'這個(gè)只有你寫(xiě)img的文件在components目錄下才有效.
回答3:如果是使用vue-cli的webpack模板,會(huì)被轉(zhuǎn)成絕對(duì)路徑,如:/images/setting.png,建議將圖片放在static文件夾下。
回答4:固定路徑都放在/static下面把,唯一打包前打包后位置不變的地方
相關(guān)文章:
1. 大兄弟們,你們都用什么框架開(kāi)發(fā) web app2. mysql - 電商如何存儲(chǔ)營(yíng)業(yè)額數(shù)據(jù)3. css - PC端不同分辨率下字體大小呈現(xiàn)4. css如何實(shí)現(xiàn)兩欄布局,左邊固定寬度,右邊寬度自適應(yīng),且高度和瀏覽器當(dāng)前高度一致?5. javascript - 表單ajax提交后跳轉(zhuǎn),手機(jī)按返回又進(jìn)入這個(gè)表單頁(yè)了!!6. javascript - sublime快鍵鍵問(wèn)題7. javascript - avalon使用:duplex設(shè)置select默認(rèn)option的bug8. javascript - 有適合開(kāi)發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?9. css3 - css做動(dòng)畫(huà)效果10. HTML5禁止img預(yù)覽該怎么解決?
