mirror of
https://github.com/wassname/talk.git
synced 2026-07-07 09:05:03 +08:00
some minor fixes
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
const SettingsService = require('../services/settings');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const merge = require('lodash/merge');
|
||||
const memoize = require('lodash/memoize');
|
||||
const { merge } = require('lodash');
|
||||
|
||||
const {
|
||||
BASE_URL,
|
||||
@@ -38,36 +37,44 @@ const attachStaticLocals = locals => {
|
||||
}
|
||||
};
|
||||
|
||||
// MANIFESTS are all the manifests accessible by Talk.
|
||||
const MANIFESTS = ['../dist/manifest.json', '../dist/manifest.embed.json'];
|
||||
|
||||
// getManifest will retrieve the manifest files and parse the JSON.
|
||||
function getManifest() {
|
||||
return merge(
|
||||
{},
|
||||
...['../dist/manifest.json', '../dist/manifest.embed.json']
|
||||
.map(f => fs.readFileSync(path.resolve(__dirname, f), 'utf8'))
|
||||
.map(JSON.parse)
|
||||
...MANIFESTS.map(f =>
|
||||
fs.readFileSync(path.resolve(__dirname, f), 'utf8')
|
||||
).map(JSON.parse)
|
||||
);
|
||||
}
|
||||
|
||||
const getManifestMemoized = memoize(getManifest);
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
// Crash early if file does not exists.
|
||||
getManifestMemoized();
|
||||
}
|
||||
|
||||
function resolve(key) {
|
||||
/**
|
||||
* resolve is a function that can be used in templates to resolve an asset from
|
||||
* the manifest. In production, the manifest is cached.
|
||||
*/
|
||||
const resolve = (() => {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return `${STATIC_URL}static/${getManifestMemoized()[key]}`;
|
||||
} else {
|
||||
// In dev mode, we are more forgiving and we always load the
|
||||
// newest version of the manifest.
|
||||
// In production, we should attempt to load the manifest early.
|
||||
const manifest = getManifest();
|
||||
|
||||
return key => `${STATIC_URL}static/${manifest[key]}`;
|
||||
}
|
||||
|
||||
// In dev mode, we are more forgiving and we always load the
|
||||
// newest version of the manifest.
|
||||
return key => {
|
||||
try {
|
||||
return `${STATIC_URL}static/${getManifest()[key]}`;
|
||||
const manifest = getManifest();
|
||||
|
||||
return `${STATIC_URL}static/${manifest[key]}`;
|
||||
} catch (err) {
|
||||
console.warn(err);
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
module.exports = async (req, res, next) => {
|
||||
try {
|
||||
|
||||
+11
-2
@@ -93,7 +93,15 @@ const config = {
|
||||
use: ExtractTextPlugin.extract({
|
||||
fallback: 'style-loader',
|
||||
use: [
|
||||
'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
minimize: true,
|
||||
modules: true,
|
||||
importLoaders: 1,
|
||||
localIdentName: '[name]__[local]___[hash:base64:5]',
|
||||
},
|
||||
},
|
||||
'postcss-loader',
|
||||
],
|
||||
}),
|
||||
@@ -104,7 +112,8 @@ const config = {
|
||||
test: /\.(jpg|png|gif|svg)$/,
|
||||
},
|
||||
{
|
||||
loader: 'url-loader?limit=100000',
|
||||
loader: 'url-loader',
|
||||
options: { limit: 100000 },
|
||||
test: /\.woff$/,
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user