So I am currently building my first Meteor/Cordova hybrid app.
I would like to use framework7, but can’t get it to work, as it is not transpiled by default.
–> Meteor, React & F7 4.2.2 - Can’t import anything
Problem is, that I am totally confused on how to tell Meteor/Babel to also transpile certain node_modules.
The following code was extracted from a (working) example of framework7 from its webpack.config.js
:
{
test: /\.(js|jsx)$/,
use: 'babel-loader',
include: [
resolvePath('src'),
resolvePath('node_modules/framework7'),
resolvePath('node_modules/framework7-react'),
resolvePath('node_modules/template7'),
resolvePath('node_modules/dom7'),
resolvePath('node_modules/ssr-window'),
],
}
So I need the “Meteor/Babel” Version of this webpack config so the Meteor bundler also uses Babel for these 5 node_modules and transpiles them at build.
How do I do that?
Thanks, cheers, Patrick
you can make a softlink (ln -s node_modules/framework7 imports/framework7
) into your project. Meteor then will transpile these folders. maybe this works in your case
1 Like
I haven’t tried that before. Do we still import it the same way, like import {...} from 'framework7'
? Or do we now need to import it from the imports
folder, like import {...} from './imports/framework7'
?
If you use the symlinks approach, you can import the same way, or from the link. Both will work.
Also worth noting that because this solution was annoying for various reasons (especially git doesn’t create symlinks on windows by default) another method was implemented in Meteor 1.8.2:
- If you need to import code from
node_modules
that uses modern syntax beyond module syntax, it is now possible to enable recompilation for specific npm packages using the meteor.nodeModules.recompile
option in your application’s package.json
file. See PR #10603 for further explanation.
So you can specify the modules that need transpilation in your package.json
1 Like
will babel plugin work with recompile?