我不确定如果不做以下事情就可以做到这一点:在HTML画布中创建链接,但让我们确定.
有没有办法(相对)简单地将Chart.js标签变成链接?有问题的图表是雷达图:http://www.chartjs.org/docs/#radar-chart (到目前为止,我一直在使用这个图例,通过一些小的库修改工作正常,但现在我应该自己使用标签.)
我有一个使用create-react-app创建的React应用程序,而不是已弹出.我正在尝试使用网络工作者.我已经尝试了worker-loader包(https://github.com/webpack-contrib/worker-loader).
如果我尝试使用开箱即用的worker-loader(import Worker from 'worker-loader!../workers/myworker.js';
),我会收到错误消息,告诉我创建React App不支持Webpack加载器,我已经知道了.
解决方案是弹出应用程序(我不想这样做)并编辑webpack.config.js还是有其他方法在React应用程序中使用Web worker?
编辑:我在这里找到了解决方案:https://github.com/facebookincubator/create-react-app/issues/1277(由yonatanmn发布)
我正在构建一个供内部使用的 npm 包。它的功能之一是 DOM 解析,所以我需要在浏览器中加载它。我想使用 puppeteer 进行测试。
在文档中,我发现page.injectFile()
用于本地 JS 文件。但是,我的文件是一个模块(我正在注入的文件已经转换为常规 JavaScript),并且在将其注入木偶操作者的浏览器页面后我不知道该怎么做。
到目前为止我的代码:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
page.injectFile('../build/MyModule')
.then(result => console.log(result))
.then(error => console.log(error));
})();
Run Code Online (Sandbox Code Playgroud)
我得到一个error
,ReferenceError: require is not defined
因为我在MyModule
. 我什至可以在 puppeteer 中使用这样的 JS 模块MyModule
吗?如果是,那么获取和使用它的实例的正确方法是什么?
我正在尝试向此端点发出 POST 请求:https://api.twitter.com/oauth/request_token(作为实现 Twitter 登录的第一步)
正如文档中所述: https: //dev.twitter.com/oauth/reference/post/oauth/request_token不需要身份验证。但是,当我尝试时,我得到以下响应:
{
"errors": [
{
"code": 215,
"message": "Bad Authentication data."
}
]
}
Run Code Online (Sandbox Code Playgroud)
显然我做错了什么。我有一个注册的应用程序和与之配套的消费者密钥/秘密,我不确定是否需要以某种方式使用它们(在这种情况下,奇怪的是它在文档中说这个端点不需要身份验证)。
有人有这方面的经验吗?
编辑:请求示例
curl -X POST -d "{'oauth_callback':'http://www.callback-url.com/'}" --header "Content-Type:application/json" https://api.twitter.com/oauth/request_token
Run Code Online (Sandbox Code Playgroud)
还尝试不设置 Content-Type 标头。
我有一个现有的Flask应用程序,其中包含静态部分(网页)和动态部分(登录后).我需要做的是将动态部分重写为将使用现有API的React应用程序.
到目前为止,我一直在构建完全解耦的React应用程序,我不知道如何从Flask部分转换到React部分.理想情况下,我不想只在模板和编写组件中包含React/React-DOM脚本,我想为Flask应用程序的当前动态部分编写单页面应用程序(使用create-react-app).
转型实际发生的任何想法?也许什么时候@ app.route(/ dynamic-part)被触发,然后写一些东西而不是渲染模板?
编辑:因为有些用户认为我的问题不是很清楚,所以我会尝试更准确,以防其他人偶然发现:
我问的问题是如何从Flask处理它的部分路线切换到React处理它的路线的一部分而不会相互影响.因此,如下面的答案所示,我将React应用程序的构建输出放在Flask中,并在Flask的路由中将React应用程序处理的所有路由指向React的构建输出的index.html.那很有效.希望现在更清楚了.如果没有,我会再次尝试更多细节.
I am working on a React app created with create-react-app. I was having trouble creating a web worker in it so I posted a question here on SO: Creating a web worker inside React
I've found a solution, as written in the post above, to load a worker without ejecting the app and messing with the Webpack config. This is the code, from the post above:
// worker.js
const workercode = () => {
self.onmessage = function(e) {
console.log('Message received …
Run Code Online (Sandbox Code Playgroud) 我有一个网址:
url(r'^profile_detail/(?P<uuid>%s)/$' % uuid, ProfileDetailView.as_view(), name="profile_detail_view")
Run Code Online (Sandbox Code Playgroud)
我需要将用户重定向到该视图,但我不知道如何构建网址而不对其进行硬编码,我不想这样做.
我想像这样:
reverse('profile_detail_view' 'profile.uuid')
Run Code Online (Sandbox Code Playgroud)
我尝试了一些变化,但我没有做对.我也试过args和kwargs的东西,但没有.
我该怎么做?
我在组件上显示叠加层时遇到问题.下面是代码.
<div className="content">
<div className="main" onMouseEnter={this.mouseOver} onMouseLeave={this.mouseLeaves}>
...
</div>
<div className="overlay" style={this.getOverlayStyle()} ref="overlay">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是样式方法:
getOverlayStyle: function() {
return {
display: 'none',
position: 'absolute',
top: '0',
bottom: '0',
left: '0',
right: '0',
zIndex: '100'
};
}
Run Code Online (Sandbox Code Playgroud)
这些是鼠标事件处理程序:
mouseOver: function() {
this.refs.overlay.style.display = 'block';
},
mouseLeaves: function() {
this.refs.overlay.style.display = 'none';
},
Run Code Online (Sandbox Code Playgroud)
好吧,所以,当我将鼠标悬停在内容部分上时,叠加层变得可见,但它正在闪烁.当我停止在内容上方移动鼠标时,叠加层显示效果很好.当我再次移动鼠标时,它再次闪烁,它几乎无法观看,非常烦人.
当我尝试在控制台中显示叠加层时(只是你的常规文档.getElementsByClassName('overlay')[0] .style.display ='block',它正常工作并且不会闪烁.我猜这个问题是由于我还没有很好的反应知识.
任何想法为什么会发生这种情况?
Ps,我尝试使用纯CSS解决方案:selector1 + selector2 {display:block; 并且它的行为与上面相同.
编辑,我尝试通过状态设置可见性(在鼠标输入和鼠标离开时改变状态),遵循评论中的建议,但是当鼠标移动时它仍然闪烁.
我运行这个命令:
browserify src.js -t [ babelify --presets [ react ] ] > build.js
Run Code Online (Sandbox Code Playgroud)
我得到一个可以由它自己使用的文件.工作正常,但它的NODE_ENV设置为开发,我得到一个关于下载React DevTools的console.log.
如何将其设置为生产?我浏览了一下,没有发现任何对我有用的东西.我尝试了envify,但没有运气(我对JS构建非常新手).
我尝试将--NODE_ENV生产放在上面的某个位置,但我对浏览器和babelify非常新,所以我基本上都在进行反复试验.
我有一个集成的React应用程序(已集成到现有的Flask应用程序中),并且React应用程序的条目不在站点的根目录中。触发React应用的第一个URL是'/ active-items'。
然而,其他路线并不一定延伸这条道路。有些路线是“ / active-items / item /”,而有些则完全不同,例如“ / item-selection”。
考虑到这一点,我试图设置我的React Router为每个路由提供一个基本组件。基本上,任何触发的路由都应将“ App”组件作为基本组件,而在App组件内部,我应使用“ {props.children}”。
我已经尝试过几次迭代,以了解路线的外观,但是没有运气。
我最新的迭代是这样的:
<Router>
<div>
<Route path='/' component={App}>
<Route path='active-items' component={ActiveItems} />
</Route>
</div>
</Router>
Run Code Online (Sandbox Code Playgroud)
应用已呈现,但ActiveItems未呈现。有什么想法我应该如何处理?
编辑:我正在使用react-router-dom v4.0.0
reactjs ×6
javascript ×4
web-worker ×2
webpack ×2
api ×1
browserify ×1
build ×1
chart.js ×1
django ×1
django-urls ×1
flask ×1
module ×1
node.js ×1
npm ×1
oauth ×1
puppeteer ×1
react-router ×1
twitter ×1