Javascript 如果我不需要SSR,如何编译JS文件以在WordPress主题中使用React组件?
我有一个WordPress主题,其中一部分我想使用React组件(我不需要SSR)。我过去使用过create react应用程序,但现在我有以下代码:Javascript 如果我不需要SSR,如何编译JS文件以在WordPress主题中使用React组件?,javascript,reactjs,wordpress,webpack,create-react-app,Javascript,Reactjs,Wordpress,Webpack,Create React App,我有一个WordPress主题,其中一部分我想使用React组件(我不需要SSR)。我过去使用过create react应用程序,但现在我有以下代码: 我试了一下,效果很好 我在DevTools控制台中收到一些警告,但它可以工作!包括自动完成和npm模块 基于此,我有以下文件: src/index.tsx 与上面链接的要点相比,不寻常的依赖性: "@rollup/plugin-commonjs": "^18.0.0", "@rollup/plu
我试了一下,效果很好
我在DevTools控制台中收到一些警告,但它可以工作!包括自动完成和npm模块
基于此,我有以下文件:
src/index.tsx
与上面链接的要点相比,不寻常的依赖性:
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-node-resolve": "^11.2.1",
"rollup-plugin-typescript": "^1.0.1",
rollup.config.js
从“汇总插件类型脚本”导入类型脚本;
从“@rollup/plugin node resolve”导入解析;
从“@rollup/plugin commonjs”导入commonjs;
导出默认值{
输入:'./src/index.tsx',
输出:{
文件:'./dist/bundle.js',
},
格式:“iLife”,
插件:[resolve()、typescript()、commonjs()],
};
tsconfig.json
{
“编译器选项”:{
“emit decoromentadata”:正确,
“实验生态学者”:没错,
“ForceConsistentCasingFileNames”:true,
“jsx”:“反应”,
“模块”:“es6”,
“moduleResolution”:“节点”,
“noImplicitAny”:没错,
“outDir”:“/dist”,
“保存常量枚举”:对,
“目标”:“es5”,
“allowSyntheticDefaultImports”:true
},
“排除”:[
“节点_模块”
]
}
对于React to work with this,我有一个特殊的行:“allowSyntheticDefaultImports”:true
../footer.php
请尝试{process.env.NODE_env}catch(e){var process={env:{NODE_env:'production'};}
你甚至需要网页包吗?如果只使用没有任何样式的组件(或者使用外部样式),则使用babel或typescript编译即可。JSX基本上就是Javascript()@Felix,我在没有WebPack的情况下尝试过,但是VS代码中的编辑器充满了红色的曲线,尽管它编译得很好,而且我无法导入npm模块。有没有办法导入npm模块?自动完成让我的工作效率更高。没有任何捆绑包(网页包、汇总等)。typescript和babel仅传输TSX/JSX。其他一切都取决于你或捆绑者。即使您使用webpack,也有一个babel或typescript编译器,它可以传输您的代码。请尝试上面的typescript链接,看看这些编译器的真正功能。
"build": "rollup -c",
"watch": "rollup -cw"
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-node-resolve": "^11.2.1",
"rollup-plugin-typescript": "^1.0.1",