diff --git a/packages/uni-cli-shared/lib/file-loader.js b/packages/uni-cli-shared/lib/file-loader.js new file mode 100644 index 0000000000000000000000000000000000000000..0bc89f57bef6d2b52e5f85b6d89fef0b4fb2b762 --- /dev/null +++ b/packages/uni-cli-shared/lib/file-loader.js @@ -0,0 +1,17 @@ +const path = require('path') + +const isWin = /^win/.test(process.platform) + +const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) + +module.exports = { + loader: 'file-loader', + options: { + publicPath (url, resourcePath, context) { + return '/' + normalizePath(path.relative(process.env.UNI_INPUT_DIR, resourcePath)) + }, + outputPath (url, resourcePath, context) { + return normalizePath(path.relative(process.env.UNI_INPUT_DIR, resourcePath)) + } + } +} diff --git a/packages/uni-cli-shared/lib/url-loader.js b/packages/uni-cli-shared/lib/url-loader.js index 8c64fd693bb69359e845e0472f30c6bdae24d0b8..202e1c1bcc72fda35480ac41399849e4e9d4733a 100644 --- a/packages/uni-cli-shared/lib/url-loader.js +++ b/packages/uni-cli-shared/lib/url-loader.js @@ -1,22 +1,8 @@ -const path = require('path') - -const isWin = /^win/.test(process.platform) - -const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) +const fileLoader = require('./file-loader.js') const defaultOptions = { limit: -1, - fallback: { - loader: 'file-loader', - options: { - publicPath (url, resourcePath, context) { - return '/' + normalizePath(path.relative(process.env.UNI_INPUT_DIR, resourcePath)) - }, - outputPath (url, resourcePath, context) { - return normalizePath(path.relative(process.env.UNI_INPUT_DIR, resourcePath)) - } - } - } + fallback: fileLoader } const inlineLimit = @@ -60,4 +46,4 @@ module.exports = { } }, rewriteUrl -} +} diff --git a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js index 69576378023cc0b32d417e0cf036d868f67eb251..f12eb801bf8e2a8f3437ec08d73f2fa73c934b99 100644 --- a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js +++ b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js @@ -11,7 +11,7 @@ const { nvueHtmlPreprocessOptions, getTemplatePath } = require('@dcloudio/uni-cli-shared') - +const fileLoader = require('@dcloudio/uni-cli-shared/lib/file-loader') const WebpackAppPlusNVuePlugin = process.env.UNI_USING_V3 ? require('../packages/webpack-app-plus-plugin') : require('../packages/webpack-app-plus-nvue-plugin') @@ -109,13 +109,7 @@ if (process.env.NODE_ENV === 'development') { const rules = [{ test: /\.(png|jpg|gif|ttf|eot|woff|woff2)$/i, - use: [{ - loader: 'file-loader', - options: { - publicPath: 'assets', - outputPath: 'assets' - } - }] + use: [fileLoader] }, { test: path.resolve(process.env.UNI_INPUT_DIR, 'pages.json'), use: [{