我遇到一个问题,我无法从子文件夹中提供json
个文件。以下是代码:
var browserSync = require('browser-sync').create();
// Static server
gulp.task('connect', function() {
browserSync.init({
server: {
baseDir: "app/"
}
});
});
我的所有static
和angularjs
文件都位于app文件夹中。当我导航到http://localhost:3000
时,页面会加载,但app/data/myfile.json
内的相应json文件无法加载。
我在控制台中收到以下错误:
POST http://localhost:3000/data/json/myfile.json 404(未找到)
奇怪的是,当我尝试在浏览器中加载路径时,json文件会加载。
答案 0 :(得分:0)
起初我使用这种方式https://www.browsersync.io/docs/options/#option-serveStatic失败。 但是
const ASSET_EXTENSION_REGEX = new RegExp(`\\b(?!\\?)\\.(${config.assetExtensions.join('|')})\\b(?!\\.)`, 'i');
const DEFAULT_FILE = 'index.html';
...
server: {
baseDir: './build',
middleware: function(req, res, next) {
let fileHref = url.parse(req.url).href;
if ( !ASSET_EXTENSION_REGEX.test(fileHref) ) {
req.url = '/' + DEFAULT_FILE;
}
return next();
}
}
...
config = {assetExtensions:[ ' JS&#39 ;, ' CSS&#39 ;, ' PNG&#39 ;, '?JPE克&#39 ;, ' GIF&#39 ;, ' SVG&#39 ;, ' EOT&#39 ;, ' OTF&#39 ;, ' TTC&#39 ;, ' TTF&#39 ;, ' JSON&#39 ;, ' woff2&#39?; ]}
SUCCESS