Javascript ReactJS在Symfony项目上导入后会中断代码
我试图将ReactJS集成到我的Symfony 5项目中,但在导入它之后,它似乎破坏了代码 我已在和上遵循了上述步骤:Javascript ReactJS在Symfony项目上导入后会中断代码,javascript,php,reactjs,symfony,webpack,Javascript,Php,Reactjs,Symfony,Webpack,我试图将ReactJS集成到我的Symfony 5项目中,但在导入它之后,它似乎破坏了代码 我已在和上遵循了上述步骤: 在Symfony项目上安装网页包Encore 安装开发依赖项react和react dom 在assets/js/中创建一个类似app_react.js的文件,然后使用.addEntry('app_react','./assets/js/app_react.js')将其作为新条目添加到webpack.config.js 使用 在网页包配置中启用React预设:。EnableRe
react
和react dom
assets/js/
中创建一个类似app_react.js
的文件,然后使用.addEntry('app_react','./assets/js/app_react.js')将其作为新条目添加到webpack.config.js
。EnableReact预设()
模板/user/base.HTML.twig
:
纱线安可开发工具编译资产——观看(一切都会编译)
app\u React.js中导入React
console.log('Hello world')
就会被打印出来,但是如果我导入React
之后就不会执行任何代码。我已经尝试了使用React打印一些代码的常用方法:
从“React”导入React;
从“react dom”导入react dom;
console.log('未打印此文件');
常量SomeText=()=>(
一些文本
);
render(,document.getElementById('react-app');
这是浏览器源代码显示的app_react.js
文件:
以防万一,这是我的webpack.config.js
文件:
var Encore=require('@symfony/webpack Encore');
如果(!Encore.isRuntimeEnvironmentConfigured()){
Encore.configureRuntimeEnvironment(process.env.NODE|u env||'dev');
}
再来一个
.setOutputPath('public/build/')
.setPublicPath(“/build”)
.复制文件({
发件人:“./assets/image”
})
.addEntry('app','。/assets/js/app.js')
.addEntry('app_react','。/assets/js/app_react.js')//步骤3
.autoProvidejQuery()
.splitEntryChunks()
.enableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()之前
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.configureBabelPresetEnv((配置)=>{
config.useBuiltIns='usage';
config.corejs=3;
})
.enablesASloader()
.enableReactPreset()//步骤5
;
module.exports=Encore.getWebpackConfig();
那么,我做错了什么呢?我想你的问题可能在第4步。而不是使用
<script src="{{ asset('build/app_react.js') }}"></script>
Webpack encore将查找
manifest.json
,以确定要包含哪些文件。很可能不仅仅是app\u react.js
文件。。我想Symfony的视频可能很旧了。我想是的,但我没有编码。非常感谢。
{{ encore_entry_script_tags('app_react') }}