Closed dman777 closed 5 years ago
So this worked... sort of
function babelCompile({ rootDir = process.cwd(), modulesUrl = '/node_modules' } = {}) {
return transform_middleware_1.transformResponse({
shouldTransform(request, response) {
if (!request.query) {
return;
}
I say sort of, because now I am able to connect and request pages. But it's not able to transform the modules. I get the usual
Uncaught TypeError: Failed to resolve module specifier "@polymer/polymer/polymer-element.js". Relative references must start with either "/", "./", or "../".
I have my web app root as /
and my polymer elements in ./app
.
The config I am using is:
"server": {
baseDir: ['./'],
middleware: [
proxyMiddleware,
transformMiddleware({
rootDir: path.resolve(__dirname, './'),
modulesUrl: './node_modules'
}),
historyApiFallback()
],
Would this failure be from my config or from the query
not existing in the source code?
Ok, had some success with:
return transform_middleware_1.transformResponse({
shouldTransform(request, response) {
if (request.query && 'nocompile' in request.query) {
return false;
}
if (request.query && !compileMimeTypes.includes(getContentType(response))) {
return false;
}
return true;
},
but still get the usual can not resolve path error in the browser and this new error from the module:
Error TypeError: response.get is not a function
at getContentType (/home/two/gitlab/front-end-dolphin-p3/node_modules/express-transform-bare-module-specifiers/dist/compile-middleware.js:20:40)
at Object.transform (/home/two/gitlab/front-end-dolphin-p3/node_modules/express-transform-bare-module-specifiers/dist/compile-middleware.js:47:33)
at ServerResponse.res.end (/home/two/gitlab/front-end-dolphin-p3/node_modules/express-transform-bare-module-specifiers/dist/transform-middleware.js:52:43)
at ReadStream.onend (_stream_readable.js:625:10)
at Object.onceWrapper (events.js:273:13)
at ReadStream.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1081:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Not sure if it matters but I am using HTTPs.
Ah.... maybe I am not. I am using browser-sync stand alone. I assumed it uses some kind of express integration since I was using history fall back api with no issues.
Instead, I could just proxy the requests from browser-sync to a express server.
To use a express server just for serving the static files, would it be the below?
app.use('*', transformMiddleware());
app.use('/node_modules', express.static(path.join(__dirname, 'node_modules')))
Closing this issue since I was using browser sync and this module as a middle ware, instead of using express
Thanks for making this npm module.... it is desperately needed.
I am having issues with using it in browser sync. Am I doing anything wrong here?
Short version/snippet of bs-config:
I am getting:
Using 1.0.2 version.