大改动
This commit is contained in:
parent
8747ca0d16
commit
0513d69838
86
buildAppJSPlugin.js
Normal file
86
buildAppJSPlugin.js
Normal file
@ -0,0 +1,86 @@
|
||||
const cdnDependencies = require("./dependencies-cdn");
|
||||
|
||||
// 引入文件的 cdn 链接
|
||||
const cdn = {
|
||||
css: cdnDependencies.map((e) => e.css).filter((e) => e),
|
||||
js: cdnDependencies.map((e) => e.js).filter((e) => e),
|
||||
};
|
||||
|
||||
class BuildAppJSPlugin {
|
||||
apply(compiler) {
|
||||
// emit 是异步 hook,使用 tapAsync 触及它,还可以使用 tapPromise/tap(同步)
|
||||
compiler.hooks.emit.tapAsync(
|
||||
"BuildAppJSPlugin",
|
||||
(compilation, callback) => {
|
||||
let cssarr = [];
|
||||
let jsarr = [];
|
||||
// 遍历所有编译过的资源文件,
|
||||
// 对于每个文件名称,都添加一行内容。
|
||||
for (let filename in compilation.assets) {
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
filename = (process.env.VUE_APP_PUBLIC_PATH || "/") + filename;
|
||||
} else {
|
||||
filename = "/" + filename;
|
||||
}
|
||||
// filename = "/" + filename;
|
||||
|
||||
if (filename.match(".*\\.js$")) {
|
||||
jsarr.push(filename);
|
||||
}
|
||||
if (filename.match(".*\\.css$")) {
|
||||
cssarr.push(filename);
|
||||
}
|
||||
}
|
||||
cssarr = cssarr.sort(function(a) {
|
||||
return a.indexOf("app.");
|
||||
});
|
||||
var cdnjs = ''
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
cssarr = cdn.css.concat(cssarr);
|
||||
cdnjs = `var cdnjs = ${JSON.stringify(cdn.js)};
|
||||
cdnjs.forEach((item) => {
|
||||
document.write('<script src="' + item + '"></script>');
|
||||
});`
|
||||
} else {
|
||||
cssarr = cssarr.concat(cdnDependencies
|
||||
.filter((e) => e.name === "")
|
||||
.map((e) => e.css));
|
||||
}
|
||||
let content = `
|
||||
var styles = ${JSON.stringify(cssarr)};
|
||||
var scripts = ${JSON.stringify(jsarr)};
|
||||
${cdnjs}
|
||||
document.write('<div id="app"></div>');
|
||||
var title = document.getElementsByTagName('title')
|
||||
styles.forEach((item) => {
|
||||
let link = document.createElement('link');
|
||||
link.href=item;
|
||||
link.rel = 'preload';
|
||||
link.as = 'style';
|
||||
title[0].parentNode.insertBefore(link,title[0])
|
||||
link = document.createElement('link');
|
||||
link.href=item;
|
||||
link.rel = 'stylesheet';
|
||||
title[0].parentNode.insertBefore(link,title[0])
|
||||
});
|
||||
scripts.forEach((item) => {
|
||||
document.write('<script src="' + item + '"></script>');
|
||||
});
|
||||
`;
|
||||
// 将这个列表作为一个新的文件资源,插入到 webpack 构建中:
|
||||
compilation.assets["app.js"] = {
|
||||
source: function() {
|
||||
return content;
|
||||
},
|
||||
size: function() {
|
||||
return cssarr.length + jsarr.length;
|
||||
},
|
||||
};
|
||||
|
||||
callback();
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = BuildAppJSPlugin;
|
@ -3,6 +3,8 @@ module.exports = [
|
||||
{ name: 'vue-i18n', library: 'VueI18n', js: 'https://cdn.jsdelivr.net/npm/vue-i18n@8.17.3/dist/vue-i18n.min.js', css: '' },
|
||||
{ name: 'vue-router', library: 'VueRouter', js: 'https://cdn.jsdelivr.net/npm/vue-router@3.1.6/dist/vue-router.min.js', css: '' },
|
||||
{ name: 'axios', library: 'axios', js: 'https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js', css: '' },
|
||||
// { name: 'element-ui', library: 'ELEMENT', js: 'https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/index.js', css: 'https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/theme-chalk/index.css' },
|
||||
{ name: 'js-cookie', library: 'Cookies', js: 'https://cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js', css: '' },
|
||||
// { name: 'brace', library: 'ace', js: 'https://cdn.jsdelivr.net/npm/brace@0.11.1/index.min.js', css: '' },
|
||||
// { name: 'brace/ext/language_tools', library: 'language_tools', js: ' https://cdn.jsdelivr.net/npm/brace@0.11.1/ext/language_tools.js', css: '' },
|
||||
// { name: 'brace/mode/html', library: 'html', js: ' https://cdn.jsdelivr.net/npm/brace@0.11.1/mode/html.js', css: '' },
|
||||
@ -15,4 +17,5 @@ module.exports = [
|
||||
{ name: '', library: '', js: '', css: 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css' },
|
||||
{ name: '', library: '', js: '', css: 'https://cdn.jsdelivr.net/npm/font-awesome@latest/css/font-awesome.min.css' },
|
||||
{ name: '', library: '', js: '', css: 'https://cdn.jsdelivr.net/npm/font-awesome-animation@0.2.1/dist/font-awesome-animation.min.css' },
|
||||
{ name: '', library: '', js: '', css: 'https://cdn.jsdelivr.net/npm/bulma-pageloader@0.3.0/dist/css/bulma-pageloader.min.css' },
|
||||
]
|
135
package-lock.json
generated
135
package-lock.json
generated
@ -2143,14 +2143,6 @@
|
||||
"integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=",
|
||||
"dev": true
|
||||
},
|
||||
"async-validator": {
|
||||
"version": "1.8.5",
|
||||
"resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz",
|
||||
"integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
|
||||
"requires": {
|
||||
"babel-runtime": "6.x"
|
||||
}
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
|
||||
@ -2232,11 +2224,6 @@
|
||||
"resolve": "^1.12.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-vue-jsx-merge-props": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
|
||||
"integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
|
||||
},
|
||||
"babel-loader": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1584717315701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz",
|
||||
@ -2291,27 +2278,6 @@
|
||||
"object.assign": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"babel-runtime": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
|
||||
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
|
||||
"requires": {
|
||||
"core-js": "^2.4.0",
|
||||
"regenerator-runtime": "^0.11.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "2.6.11",
|
||||
"resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz",
|
||||
"integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw="
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052392667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz",
|
||||
"integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
|
||||
@ -2384,11 +2350,6 @@
|
||||
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
|
||||
"dev": true
|
||||
},
|
||||
"batch-processor": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/batch-processor/download/batch-processor-1.0.0.tgz",
|
||||
"integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
|
||||
@ -3185,6 +3146,11 @@
|
||||
"integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=",
|
||||
"dev": true
|
||||
},
|
||||
"clipboard-polyfill": {
|
||||
"version": "2.8.6",
|
||||
"resolved": "https://registry.npm.taobao.org/clipboard-polyfill/download/clipboard-polyfill-2.8.6.tgz",
|
||||
"integrity": "sha1-GdJyg/EfKTO7GHNyY7mLjJW1oPc="
|
||||
},
|
||||
"clipboardy": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz",
|
||||
@ -3952,7 +3918,8 @@
|
||||
"deepmerge": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
|
||||
"integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
|
||||
"integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=",
|
||||
"dev": true
|
||||
},
|
||||
"default-gateway": {
|
||||
"version": "5.0.5",
|
||||
@ -4404,27 +4371,6 @@
|
||||
"integrity": "sha1-nQqS3v79p8wc+IlQWLiSeV3da0E=",
|
||||
"dev": true
|
||||
},
|
||||
"element-resize-detector": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npm.taobao.org/element-resize-detector/download/element-resize-detector-1.2.1.tgz",
|
||||
"integrity": "sha1-sDBRlER6SGMVXljxMyOgrvMIUdE=",
|
||||
"requires": {
|
||||
"batch-processor": "1.0.0"
|
||||
}
|
||||
},
|
||||
"element-ui": {
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.1.tgz",
|
||||
"integrity": "sha1-DLGkXPJ6phxgHe++GSdArFy533w=",
|
||||
"requires": {
|
||||
"async-validator": "~1.8.1",
|
||||
"babel-helper-vue-jsx-merge-props": "^2.0.0",
|
||||
"deepmerge": "^1.2.0",
|
||||
"normalize-wheel": "^1.0.1",
|
||||
"resize-observer-polyfill": "^1.5.0",
|
||||
"throttle-debounce": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"elliptic": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz",
|
||||
@ -7147,33 +7093,6 @@
|
||||
"resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"iview": {
|
||||
"version": "3.5.4",
|
||||
"resolved": "https://registry.npm.taobao.org/iview/download/iview-3.5.4.tgz?cache=0&sync_timestamp=1575428499080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fiview%2Fdownload%2Fiview-3.5.4.tgz",
|
||||
"integrity": "sha1-1Ra5LnO2F/Lcf0WDH5kFnWmTL4I=",
|
||||
"requires": {
|
||||
"async-validator": "^1.12.2",
|
||||
"deepmerge": "^2.2.1",
|
||||
"element-resize-detector": "^1.2.0",
|
||||
"js-calendar": "^1.2.3",
|
||||
"lodash.throttle": "^4.1.1",
|
||||
"popper.js": "^1.14.6",
|
||||
"tinycolor2": "^1.4.1",
|
||||
"v-click-outside-x": "^4.0.19"
|
||||
},
|
||||
"dependencies": {
|
||||
"async-validator": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.12.2.tgz",
|
||||
"integrity": "sha1-vq5nHnF00pOLe0tp0vt+cit/1yw="
|
||||
},
|
||||
"deepmerge": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-2.2.1.tgz",
|
||||
"integrity": "sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA="
|
||||
}
|
||||
}
|
||||
},
|
||||
"javascript-stringify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz",
|
||||
@ -7212,11 +7131,6 @@
|
||||
"resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz",
|
||||
"integrity": "sha1-MTtidN2nGPcU0AszMLuubjjpAgk="
|
||||
},
|
||||
"js-calendar": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npm.taobao.org/js-calendar/download/js-calendar-1.2.3.tgz",
|
||||
"integrity": "sha1-pYOwZEtOaVujlPNE0QPbzHp6fT4="
|
||||
},
|
||||
"js-cookie": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz",
|
||||
@ -7547,11 +7461,6 @@
|
||||
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.throttle": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz",
|
||||
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
|
||||
},
|
||||
"lodash.transform": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "http://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz",
|
||||
@ -8305,11 +8214,6 @@
|
||||
"integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
|
||||
"dev": true
|
||||
},
|
||||
"normalize-wheel": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
|
||||
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
|
||||
},
|
||||
"npm-run-path": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz",
|
||||
@ -8945,11 +8849,6 @@
|
||||
"ts-pnp": "^1.1.6"
|
||||
}
|
||||
},
|
||||
"popper.js": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz",
|
||||
"integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs="
|
||||
},
|
||||
"portfinder": {
|
||||
"version": "1.0.25",
|
||||
"resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.25.tgz",
|
||||
@ -10139,11 +10038,6 @@
|
||||
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
|
||||
"dev": true
|
||||
},
|
||||
"resize-observer-polyfill": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
|
||||
"integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.17.0",
|
||||
"resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz",
|
||||
@ -11484,11 +11378,6 @@
|
||||
"neo-async": "^2.6.0"
|
||||
}
|
||||
},
|
||||
"throttle-debounce": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
|
||||
"integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
|
||||
@ -11526,11 +11415,6 @@
|
||||
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
|
||||
"dev": true
|
||||
},
|
||||
"tinycolor2": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz",
|
||||
"integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz",
|
||||
@ -11975,11 +11859,6 @@
|
||||
"resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1585683718911&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
|
||||
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4="
|
||||
},
|
||||
"v-click-outside-x": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/v-click-outside-x/download/v-click-outside-x-4.1.0.tgz",
|
||||
"integrity": "sha1-voJmgOLSVmaooYUzKSnUYkSqJEc="
|
||||
},
|
||||
"v8-compile-cache": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz",
|
||||
|
@ -12,9 +12,8 @@
|
||||
"dependencies": {
|
||||
"axios": "^0.19.2",
|
||||
"bulma": "^0.8.2",
|
||||
"clipboard-polyfill": "^2.8.6",
|
||||
"core-js": "^3.6.4",
|
||||
"element-ui": "^2.13.1",
|
||||
"iview": "^3.5.4",
|
||||
"js-cookie": "^2.2.1",
|
||||
"markdown-it": "^10.0.0",
|
||||
"node-sass": "^4.14.0",
|
||||
|
@ -1,36 +0,0 @@
|
||||
var styles = [
|
||||
'https://cdn.jsdelivr.net/npm/bulma@0.8.2/css/bulma.min.css',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css',
|
||||
'https://cdn.jsdelivr.net/npm/font-awesome@latest/css/font-awesome.min.css',
|
||||
'https://cdn.jsdelivr.net/npm/font-awesome-animation@0.2.1/dist/font-awesome-animation.min.css',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/css/app.15d37280.css',
|
||||
];
|
||||
var scripts = [
|
||||
"https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js",
|
||||
"https://cdn.jsdelivr.net/npm/vue-i18n@8.17.3/dist/vue-i18n.min.js",
|
||||
"https://cdn.jsdelivr.net/npm/vue-router@3.1.6/dist/vue-router.min.js",
|
||||
"https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js",
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/index.min.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/ext/language_tools.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/mode/html.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/mode/javascript.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/mode/less.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/theme/chrome.js',
|
||||
// 'https://cdn.jsdelivr.net/npm/brace@0.11.1/snippets/javascript.js',
|
||||
"https://cdn.jsdelivr.net/npm/markdown-it@10.0.0/dist/markdown-it.min.js",
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-1ed22f12.64aeb3d6.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-vendors.1a3ef683.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-4850b756.160c2c8c.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/app.f314926a.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-56b11c46.cc8e90e1.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-6a24b24e.b8a4da9e.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-2d0aed92.7e4c9d1b.js',
|
||||
'https://cloud.jsonpop.cn/go2index/vue/dist/js/chunk-2d2137a3.5bc616b8.js',
|
||||
];
|
||||
|
||||
styles.forEach((item) => {
|
||||
document.write(`<link rel="stylesheet" href="${item}">`);
|
||||
});
|
||||
scripts.forEach((item) => {
|
||||
document.write(`<script src="${item}"></script>`);
|
||||
});
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 66 KiB |
@ -10,10 +10,6 @@
|
||||
<link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style">
|
||||
<link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet">
|
||||
<% } %>
|
||||
<!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
|
||||
<link href="<%= htmlWebpackPlugin.options.cdn.js[i] %>" rel="preload" as="script">
|
||||
<% } %>
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
<script>
|
||||
var authConfig = {
|
||||
@ -36,13 +32,14 @@
|
||||
window.current_drive_order = 0;
|
||||
// window.MODEL = { q: "the" };
|
||||
</script>
|
||||
<!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
|
||||
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
|
||||
<% } %>
|
||||
<script src="/app.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
|
||||
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
|
||||
<% } %>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -94,6 +94,7 @@ body {
|
||||
padding-top: 0;
|
||||
background: hsla(0, 0%, 100%, 0.6);
|
||||
will-change: initial;
|
||||
z-index: 1;
|
||||
|
||||
.title {
|
||||
color: hsl(0, 0%, 4%);
|
||||
@ -136,28 +137,4 @@ body {
|
||||
border: 5px solid transparent;
|
||||
position: absolute;
|
||||
left: 7px;
|
||||
}
|
||||
|
||||
.el-table table,
|
||||
tbody,
|
||||
thead {
|
||||
width: 100% !important;
|
||||
}
|
||||
.el-table colgroup {
|
||||
// position: absolute;
|
||||
width: 100% !important;
|
||||
display: flex;
|
||||
}
|
||||
.el-table col {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.el-table td, .el-table th.is-leaf{
|
||||
// width: 100%;
|
||||
border-bottom: initial;
|
||||
}
|
||||
.el-table td{
|
||||
&:hover{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
{
|
||||
"_name": "English",
|
||||
"languages": "Languages",
|
||||
"index": "Index",
|
||||
"list": {
|
||||
"auth": "Directory encryption, please enter password",
|
||||
"title": {
|
||||
"file": "File",
|
||||
"moditime": "Modified Time",
|
||||
@ -10,6 +12,7 @@
|
||||
},
|
||||
"loading": "Loading...",
|
||||
"opt": {
|
||||
"copy": "Copy link",
|
||||
"newTab": "Open a new tab",
|
||||
"download": "Download"
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
{
|
||||
"_name": "简体中文",
|
||||
"languages": "选择语言",
|
||||
"index": "首页",
|
||||
"list": {
|
||||
"auth": "目录加密,请输入密码",
|
||||
"title": {
|
||||
"file": "文件",
|
||||
"moditime": "修改时间",
|
||||
@ -10,6 +12,7 @@
|
||||
},
|
||||
"loading": "加载中...",
|
||||
"opt": {
|
||||
"copy": "复制链接",
|
||||
"newTab": "打开新的标签页",
|
||||
"download": "下载"
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
{
|
||||
"_name": "繁体中文",
|
||||
"languages": "選擇語言",
|
||||
"index": "首頁",
|
||||
"list": {
|
||||
"auth": "目錄加密,請輸入密碼",
|
||||
"title": {
|
||||
"file": "文件",
|
||||
"moditime": "修改時間",
|
||||
@ -10,6 +12,7 @@
|
||||
},
|
||||
"loading": "加載中...",
|
||||
"opt": {
|
||||
"copy": "復制鏈接",
|
||||
"newTab": "打開新的標簽頁",
|
||||
"download": "下載"
|
||||
}
|
||||
|
@ -1,20 +1,12 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import ElementUI from 'element-ui'
|
||||
import 'element-ui/lib/theme-chalk/index.css'
|
||||
import iView from 'iview'
|
||||
import 'iview/dist/styles/iview.css'
|
||||
import axios from '@utils/axios'
|
||||
import VueAxios from 'vue-axios'
|
||||
import router from './router'
|
||||
import i18n from './i18n'
|
||||
import "@/assets/style/theme/register.scss"
|
||||
|
||||
document.write('<div id="app"></div>')
|
||||
|
||||
Vue.config.productionTip = false
|
||||
Vue.use(ElementUI)
|
||||
Vue.use(iView)
|
||||
Vue.use(VueAxios,axios)
|
||||
|
||||
new Vue({
|
||||
|
29
src/plugin/buildapp/index.js
Normal file
29
src/plugin/buildapp/index.js
Normal file
@ -0,0 +1,29 @@
|
||||
class BuildAppJSPlugin {
|
||||
apply(compiler) {
|
||||
// emit 是异步 hook,使用 tapAsync 触及它,还可以使用 tapPromise/tap(同步)
|
||||
compiler.hooks.emit.tapAsync("BuildAppJSPlugin", (compilation, callback) => {
|
||||
// 在生成文件中,创建一个头部字符串:
|
||||
var filelist = "In this build:\n\n";
|
||||
|
||||
// 遍历所有编译过的资源文件,
|
||||
// 对于每个文件名称,都添加一行内容。
|
||||
for (var filename in compilation.assets) {
|
||||
filelist += "- " + filename + "\n";
|
||||
}
|
||||
|
||||
// 将这个列表作为一个新的文件资源,插入到 webpack 构建中:
|
||||
compilation.assets["filelist.md"] = {
|
||||
source: function() {
|
||||
return filelist;
|
||||
},
|
||||
size: function() {
|
||||
return filelist.length;
|
||||
},
|
||||
};
|
||||
|
||||
callback();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = BuildAppJSPlugin;
|
@ -1,46 +1,42 @@
|
||||
import Vue from 'vue'
|
||||
import VueRouter from 'vue-router'
|
||||
import Vue from "vue";
|
||||
import VueRouter from "vue-router";
|
||||
// 路由数据
|
||||
import routes from './routes'
|
||||
import routes from "./routes";
|
||||
|
||||
// fix vue-router NavigationDuplicated
|
||||
const VueRouterPush = VueRouter.prototype.push
|
||||
VueRouter.prototype.push = function push (location) {
|
||||
return VueRouterPush.call(this, location).catch(err => err)
|
||||
}
|
||||
const VueRouterReplace = VueRouter.prototype.replace
|
||||
VueRouter.prototype.replace = function replace (location) {
|
||||
return VueRouterReplace.call(this, location).catch(err => err)
|
||||
}
|
||||
const VueRouterPush = VueRouter.prototype.push;
|
||||
VueRouter.prototype.push = function push(location) {
|
||||
return VueRouterPush.call(this, location).catch((err) => err);
|
||||
};
|
||||
const VueRouterReplace = VueRouter.prototype.replace;
|
||||
VueRouter.prototype.replace = function replace(location) {
|
||||
return VueRouterReplace.call(this, location).catch((err) => err);
|
||||
};
|
||||
|
||||
Vue.use(VueRouter)
|
||||
Vue.use(VueRouter);
|
||||
|
||||
// 导出路由 在 main.js 里使用
|
||||
const router = new VueRouter({
|
||||
mode: 'history',
|
||||
/* scrollBehavior(to,from,savePosition){
|
||||
if(savePosition) {
|
||||
return savePosition;
|
||||
}else{
|
||||
return {x:0,y:0}
|
||||
}
|
||||
}, */
|
||||
routes
|
||||
})
|
||||
mode: "history",
|
||||
scrollBehavior(to, from, savePosition) {
|
||||
return { x: 0, y: 0 };
|
||||
},
|
||||
routes,
|
||||
});
|
||||
|
||||
/**
|
||||
* 路由拦截
|
||||
* 权限验证
|
||||
*/
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
console.log("before:")
|
||||
console.log(to)
|
||||
next()
|
||||
})
|
||||
console.log("before:");
|
||||
console.log(to);
|
||||
next();
|
||||
});
|
||||
|
||||
router.afterEach(to => {
|
||||
console.log("after:")
|
||||
console.log(to)
|
||||
})
|
||||
router.afterEach((to) => {
|
||||
console.log("after:");
|
||||
console.log(to);
|
||||
});
|
||||
|
||||
export default router
|
||||
export default router;
|
||||
|
@ -2,10 +2,10 @@
|
||||
const _import = require('@/libs/util.import.' + process.env.NODE_ENV)
|
||||
|
||||
const frameIn = [
|
||||
{ path: '/:id:/*.(html|php|css|go|java|py|js|json|txt|sh|md)', component: _import('page/GoText') },
|
||||
{ path: '/:id:/*.(mp4|webm|mkv)', component: _import('page/GoVideo') },
|
||||
{ path: '/:id:/*.(bmp|jpg|jpeg|png|gif)', component: _import('page/GoImg') },
|
||||
{ path: '/:id::cmd?(/?/??.*)', component: _import('page/GoList') },
|
||||
{ path: '/:id:(text/.*\\.)(html|php|css|go|java|py|js|json|txt|sh|md)', component: _import('page/GoText') },
|
||||
{ path: '/:id:(video/.*\\.)(mp4|webm|mkv)', component: _import('page/GoVideo') },
|
||||
{ path: '/:id:(image/.*\\.)(bmp|jpg|jpeg|png|gif)', component: _import('page/GoImg') },
|
||||
{ path: '/:id::cmd?(/?/??.*/)', component: _import('page/GoList') },
|
||||
]
|
||||
|
||||
export default frameIn
|
||||
|
@ -24,16 +24,16 @@ const exts = [
|
||||
|
||||
export const checkoutPath = (path, file) => {
|
||||
// 解决/css这种也会匹配的问题
|
||||
var ext = path.split(".").length > 1 ? path.split(".").pop() : "";
|
||||
if (exts.indexOf(`${ext}`) >= 0) {
|
||||
path += "?a=view";
|
||||
} else {
|
||||
// var ext = path.split(".").length > 1 ? path.split(".").pop() : "";
|
||||
// if (exts.indexOf(`${ext}`) >= 0) {
|
||||
// path += "?a=view";
|
||||
// } else {
|
||||
if (file.mimeType === "application/vnd.google-apps.folder") {
|
||||
if (path.substr(-1) !== "/") {
|
||||
path += "/";
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
return path;
|
||||
};
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<bread-crumb ref="breadcrumb"></bread-crumb>
|
||||
<!-- <keep-alive> -->
|
||||
<keep-alive>
|
||||
<router-view></router-view>
|
||||
<!-- </keep-alive> -->
|
||||
</keep-alive>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -1,6 +1,9 @@
|
||||
<template>
|
||||
<nav class="breadcrumb is-hidden-mobile is-hidden-touch" aria-label="breadcrumbs">
|
||||
<ul>
|
||||
<li>
|
||||
<a v-show="navs && navs.length>0" @click="go(index)">{{$t('index')}}</a>
|
||||
</li>
|
||||
<li
|
||||
v-for="(item,index) in navs"
|
||||
:class="(index+1)==navs.length?'is-active':''"
|
||||
@ -37,6 +40,7 @@ export default {
|
||||
},
|
||||
render() {
|
||||
let path = window.location.pathname;
|
||||
this.index = path.match("/\\d+:/")[0]
|
||||
// 如果是搜索不进行渲染
|
||||
if (path.match("/[0-9]+:search")) {
|
||||
this.navs = [];
|
||||
@ -53,8 +57,11 @@ export default {
|
||||
}
|
||||
n = decodeURI(n);
|
||||
p += n + "/";
|
||||
if (p.match("/[0-9]+:/")[0] === p) {
|
||||
n = "首页";
|
||||
// if (p.match("/[0-9]+:/")[0] === p) {
|
||||
// n = this.$t('index');
|
||||
// }
|
||||
if (n.match("[0-9]+:")) {
|
||||
continue;
|
||||
}
|
||||
navs.push({
|
||||
path: p,
|
||||
@ -62,9 +69,6 @@ export default {
|
||||
});
|
||||
}
|
||||
this.navs = navs;
|
||||
if (navs.length == 1 && navs[0].title === "首页") {
|
||||
this.navs = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,8 @@
|
||||
</div>
|
||||
|
||||
<div class="navbar-end">
|
||||
<!-- <div class="navbar-item is-hidden-desktop">
|
||||
<!-- is-hidden-desktop -->
|
||||
<!-- <div class="navbar-item">
|
||||
<div class="field is-grouped">
|
||||
<p class="control has-icons-left" style="width:100%;">
|
||||
<input
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="content">
|
||||
<hr/>
|
||||
<hr />
|
||||
<figure class="image">
|
||||
<img :src="imgurl" :class="!display?'is-hidden':''" @load="loading" />
|
||||
<center :class="display?'is-hidden':''">
|
||||
@ -8,7 +8,7 @@
|
||||
<span class="sr-only">Loading...</span>
|
||||
</center>
|
||||
</figure>
|
||||
<hr/>
|
||||
<hr />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -20,16 +20,21 @@ export default {
|
||||
display: false
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
$route(to, from) {
|
||||
this.render();
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
let path = window.location.pathname;
|
||||
// 便于开发环境调试
|
||||
path = process.env.NODE_ENV === "development" ? "/api" + path : "";
|
||||
this.imgurl = path;
|
||||
this.render();
|
||||
},
|
||||
methods: {
|
||||
// render(path) {
|
||||
// this.imgurl = path;
|
||||
// },
|
||||
render() {
|
||||
let path = window.location.pathname;
|
||||
// 便于开发环境调试
|
||||
path = process.env.NODE_ENV === "development" ? "/api" + path : "";
|
||||
this.imgurl = path;
|
||||
},
|
||||
loading(event) {
|
||||
if (event.target.complete == true) {
|
||||
this.display = true;
|
||||
|
@ -1,9 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/bulma-pageloader@0.3.0/dist/css/bulma-pageloader.min.css"
|
||||
/>
|
||||
<headmd :option="headmd" v-show="headmd.display"></headmd>
|
||||
<div class="golist">
|
||||
<table class="table is-hoverable">
|
||||
@ -37,9 +33,9 @@
|
||||
class="is-hidden-mobile is-hidden-touch"
|
||||
v-if="file.mimeType!=='application/vnd.google-apps.folder'"
|
||||
>
|
||||
<!-- <span class="icon" @click="copy(file.path)">
|
||||
<i class="fa fa-copy" title="copy link" aria-hidden="true"></i>
|
||||
</span>-->
|
||||
<span class="icon" @click.stop="copy(file.path)">
|
||||
<i class="fa fa-copy faa-shake animated-hover" :title="$t('list.opt.copy')" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="icon" @click.stop="go(file,'_blank')">
|
||||
<i
|
||||
class="fa fa-external-link faa-shake animated-hover"
|
||||
@ -47,49 +43,17 @@
|
||||
aria-hidden="true"
|
||||
></i>
|
||||
</span>
|
||||
<span class="icon" @click="go(file,'down')">
|
||||
<i class="fa fa-download faa-shake animated-hover" :title="$t('list.opt.download')"></i>
|
||||
<span class="icon" @click.stop="go(file,'down')">
|
||||
<i
|
||||
class="fa fa-download faa-shake animated-hover"
|
||||
aria-hidden="true"
|
||||
:title="$t('list.opt.download')"
|
||||
></i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- <el-table
|
||||
:data="files"
|
||||
:cell-class-name="cellClass"
|
||||
:header-row-class-name="cellClass"
|
||||
@cell-click="go"
|
||||
>
|
||||
<el-table-column prop="name" :label="$t('list.title.file')" min-width="10" sortable>
|
||||
<template slot-scope="scope">
|
||||
<svg class="iconfont" aria-hidden="true">
|
||||
<use :xlink:href="getIcon(scope.row.mimeType)" />
|
||||
</svg>
|
||||
{{scope.row.name}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="modifiedTime"
|
||||
:label="$t('list.title.moditime')"
|
||||
sortable
|
||||
min-width="3"
|
||||
></el-table-column>
|
||||
<el-table-column prop="size" :label="$t('list.title.size')" sortable min-width="2"></el-table-column>
|
||||
<el-table-column :label="$t('list.title.operation')" sortable min-width="2">
|
||||
<template slot-scope="scope">
|
||||
<span class="icon" @click.stop="go(file,'_blank')">
|
||||
<i
|
||||
class="fa fa-external-link faa-shake animated-hover"
|
||||
:title="$t('list.opt.newTab')"
|
||||
aria-hidden="true"
|
||||
></i>
|
||||
</span>
|
||||
<span class="icon" @click="go(file,'down')">
|
||||
<i class="fa fa-download faa-shake animated-hover" :title="$t('list.opt.download')"></i>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table> -->
|
||||
<div v-show="files.length==0" class="has-text-centered no-content"></div>
|
||||
<div v-show="loading" class="pageloader is-active">
|
||||
<span class="title">{{$t('list.loading')}}</span>
|
||||
@ -104,7 +68,9 @@
|
||||
import { utc2beijing, formatFileSize, checkoutPath } from "@utils/AcrouUtil";
|
||||
import axios from "@/utils/axios";
|
||||
import Markdown from "../common/Markdown";
|
||||
import * as clipboard from "clipboard-polyfill";
|
||||
export default {
|
||||
name: "GoList",
|
||||
components: {
|
||||
Headmd: Markdown,
|
||||
Readmemd: Markdown
|
||||
@ -117,6 +83,7 @@ export default {
|
||||
},
|
||||
files: [],
|
||||
loading: true,
|
||||
copyTooltip: '',
|
||||
icon: {
|
||||
"application/vnd.google-apps.folder": "icon-morenwenjianjia",
|
||||
"video/mp4": "icon-mp",
|
||||
@ -162,7 +129,7 @@ export default {
|
||||
},
|
||||
{
|
||||
name: this.$t("list.title.operation"),
|
||||
style: "width:10%",
|
||||
style: "width:13%",
|
||||
class: "is-hidden-mobile is-hidden-touch"
|
||||
}
|
||||
];
|
||||
@ -245,7 +212,7 @@ export default {
|
||||
});
|
||||
},
|
||||
checkPassword(path) {
|
||||
var pass = prompt("目录加密,请输入密码", "");
|
||||
var pass = prompt(this.$t("list.auth"), "");
|
||||
localStorage.setItem("password" + path, pass);
|
||||
if (pass != null && pass != "") {
|
||||
this.render(path);
|
||||
@ -253,10 +220,12 @@ export default {
|
||||
history.go(-1);
|
||||
}
|
||||
},
|
||||
// copy(path) {
|
||||
// path = path.replace("?a=view", "");
|
||||
// // TODO
|
||||
// },
|
||||
copy(path) {
|
||||
let origin = window.location.origin;
|
||||
path = path.replace("?a=view", "");
|
||||
path = origin + path;
|
||||
clipboard.writeText(path);
|
||||
},
|
||||
go(file, target) {
|
||||
let path = file.path;
|
||||
if (path.match("/[0-9]+:search/")) {
|
||||
@ -275,6 +244,14 @@ export default {
|
||||
path: path
|
||||
});
|
||||
}
|
||||
|
||||
/* else if (path.substr(-1) == "/" && path.indexOf("?a=view") > 0) {
|
||||
this.$router.push({
|
||||
path: path
|
||||
});
|
||||
} else {
|
||||
location.href = path;
|
||||
} */
|
||||
},
|
||||
goSearchResult(file, target) {
|
||||
this.loading = true;
|
||||
|
22
src/views/page/GoPdf.vue
Normal file
22
src/views/page/GoPdf.vue
Normal file
@ -0,0 +1,22 @@
|
||||
<template>
|
||||
<object :data="url" type="application/pdf" name="test.pdf">
|
||||
<embed :src="url" type="application/pdf" />
|
||||
</object>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data: function() {
|
||||
return {};
|
||||
},
|
||||
mounted() {},
|
||||
watch: {
|
||||
$route: "render"
|
||||
},
|
||||
methods: {
|
||||
render() {
|
||||
let path = window.location.pathname;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -1,11 +0,0 @@
|
||||
<template>
|
||||
<div class="card">324567</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
@ -13,52 +13,35 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { get_file } from "@utils/AcrouUtil"
|
||||
import { get_file } from "@utils/AcrouUtil";
|
||||
export default {
|
||||
// props: {
|
||||
// option: {
|
||||
// path: "",
|
||||
// file: {},
|
||||
// },
|
||||
// },
|
||||
// watch: {
|
||||
// option () {
|
||||
// this.content = "加载中...";
|
||||
// get_file(this.option, (data) => {
|
||||
// this.content = data;
|
||||
// });
|
||||
// },
|
||||
// },
|
||||
data: function () {
|
||||
data: function() {
|
||||
return {
|
||||
path: "",
|
||||
content: ""
|
||||
};
|
||||
},
|
||||
// watch: {
|
||||
// '$route' (to, from) {
|
||||
// this.content = "加载中...";
|
||||
// get_file({path: to.replace('?a=view','/'),file: {}}, (data) => {
|
||||
// this.content = data;
|
||||
// });
|
||||
// }
|
||||
// },
|
||||
watch: {
|
||||
$route(to, from) {
|
||||
this.render();
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.render()
|
||||
this.render();
|
||||
},
|
||||
components: {
|
||||
editor: require('@/components/ace-editor'),
|
||||
editor: require("@/components/ace-editor")
|
||||
},
|
||||
methods: {
|
||||
render() {
|
||||
let path = window.location.pathname
|
||||
this.content = this.$t('page.text.loading');
|
||||
get_file({path: path.replace('?a=view','/'),file: {}}, (data) => {
|
||||
let path = window.location.pathname;
|
||||
this.content = this.$t("page.text.loading");
|
||||
get_file({ path: path.replace("?a=view", "/"), file: {} }, data => {
|
||||
this.content = data;
|
||||
});
|
||||
},
|
||||
editorInit (editor) {
|
||||
editor.setFontSize(18)
|
||||
editorInit(editor) {
|
||||
editor.setFontSize(18);
|
||||
editor.session.setUseWrapMode(false);
|
||||
require("brace/ext/language_tools"); //language extension prerequsite...
|
||||
require("brace/mode/html");
|
||||
@ -66,7 +49,7 @@ export default {
|
||||
require("brace/mode/less");
|
||||
require("brace/theme/chrome");
|
||||
require("brace/snippets/javascript"); //snippet
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -94,16 +94,20 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// render (path) {
|
||||
// this.videourl = window.location.origin + path;
|
||||
// this.apiurl =
|
||||
// "https://api.jsonpop.cn/demo/blplyaer/?url=" + this.videourl;
|
||||
// },
|
||||
render() {
|
||||
// 便于开发环境调试
|
||||
this.videourl = window.location.origin + window.location.pathname;
|
||||
this.apiurl =
|
||||
"https://api.jsonpop.cn/demo/blplyaer/?url=" + this.videourl;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// 便于开发环境调试
|
||||
this.videourl = window.location.origin + window.location.pathname;
|
||||
this.apiurl = "https://api.jsonpop.cn/demo/blplyaer/?url=" + this.videourl;
|
||||
this.render();
|
||||
},
|
||||
watch: {
|
||||
$route(to, from) {
|
||||
this.render();
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getThunder() {
|
||||
|
@ -1,5 +1,6 @@
|
||||
const path = require("path");
|
||||
const cdnDependencies = require("./dependencies-cdn");
|
||||
const BuildAppJSPlugin = require("./buildAppJSPlugin");
|
||||
|
||||
function resolve(dir) {
|
||||
return path.join(__dirname, dir);
|
||||
@ -32,6 +33,7 @@ module.exports = {
|
||||
},
|
||||
|
||||
chainWebpack: (config) => {
|
||||
config.plugin("BuildAppJSPlugin").use(BuildAppJSPlugin);
|
||||
/**
|
||||
* 添加 CDN 参数到 htmlWebpackPlugin 配置中
|
||||
*/
|
||||
@ -40,9 +42,10 @@ module.exports = {
|
||||
args[0].cdn = cdn;
|
||||
} else {
|
||||
args[0].cdn = {
|
||||
css: cdnDependencies.filter((e) => e.name==="").map((e) => e.css),
|
||||
css: cdnDependencies.filter((e) => e.name === "").map((e) => e.css),
|
||||
};
|
||||
}
|
||||
args[0].inject = false
|
||||
return args;
|
||||
});
|
||||
config.resolve.alias
|
||||
|
Loading…
Reference in New Issue
Block a user