我有一个带有 serverless-webpack 的无服务器框架项目。Webpack 很好地捆绑了应用程序本身。
我已设置 lambda 以在更新后尝试迁移,如链接的博客文章中所述:https ://spin.atomicobject.com/2018/01/06/database-migration-aws-lambda/
代码位于 ES6 中,无服务器框架通过 webpack babel-loader 运行它。我还设置了 webpack,通过将迁移文件复制到正确的文件夹来将迁移文件包含在捆绑包中:
plugins: [
new CopyWebpackPlugin([{ from: './src/migrations/*.js', to: '' }], {}),
]
Run Code Online (Sandbox Code Playgroud)
当我将文件放在正确的文件夹中以便可以找到它们时,我收到此错误:
Error running migrations: Error: Cannot find module '.../.webpack/service/src/migrations/20180512154816_create-parameters.js'
Run Code Online (Sandbox Code Playgroud)
我尝试将迁移文件夹作为依赖项包含到 package.json (迁移:'./src/migrations')。我尝试要求调用 withDB 函数的文件中的所有文件,仍然出现相同的错误。
迁移文件包含向上和向下导出:
exports.up = function (knex, Promise) {
..
};
exports.down = function (knex, Promise) {
..
};
Run Code Online (Sandbox Code Playgroud)
问题是我可以创建一个可以通过无服务器部署提供的模块,以便 knex 能够找到这些模块。
通过在迁移文件夹中创建一个 index.js 文件来以某种方式导出所有迁移?require('./migration-file.js') 不起作用。
node.js webpack serverless-framework serverless-webpack-plugin
情况简而言之。由于某种原因 reverse() 方法不起作用。
在项目 urls.py 中
url(r'^enrollment/', include('project.enrollment.urls')),
Run Code Online (Sandbox Code Playgroud)
在APP urls.py
url(r'^thanks/$', 'enrollment.views.thanks', name='enroll_thanks'),
Run Code Online (Sandbox Code Playgroud)
并在 views.py
from django.core.urlresolvers import reverse
def thanks(request):
return render_to_response('enrollment/thanks.html', {}, context_instance=RequestContext(request))
def enroll(request):
''' some code for handling the form'''
return HttpResponseRedirect(reverse('enrollment.views.thanks'))
Run Code Online (Sandbox Code Playgroud)
这种反向会导致以下错误:无法导入 project.views。错误是:没有名为视图的模块
在文件 ../django/core/urlresolvers.py 中的 _get_callback,第 167 行
知道为什么这不起作用吗?下一步是使用参数调用Thanks-view,但是在此设置工作后这应该很容易。是否应该在 views.py 中导入更多内容?
我有一个无状态的 React 函数来将反应选择 Select 渲染到表单中。除了 redux-form 被重置之外,其他一切都可以很好地与 redux-form 配合使用。成功发布后我需要手动重置表单。
当 Select 值发生变化时,onChange 和 onBlur 会正确更改 redux-form 值。当我重置 redux-form 时,redux-form 值被清除,但 Select 将具有旧值。
function SelectInput(props) {
const { input, options, label } = props;
const { onChange, onBlur } = input;
const handleChange = ({ value }) => {
onChange(value);
};
const handleBlur = ({ value }) => {
onBlur(value);
};
return (
<FormField {...props}>
<Select placeholder={label} options={options} onChange={handleChange} onBlur={handleBlur} />
</FormField>
);
}
Run Code Online (Sandbox Code Playgroud)
我将 SelectInput 转换为 React.PureComponent,并将该值添加为组件内的状态,并查找组件何时收到新的 props:
constructor(props) { …Run Code Online (Sandbox Code Playgroud) django ×1
django-views ×1
node.js ×1
react-select ×1
reactjs ×1
redux-form ×1
reverse ×1
webpack ×1