小编Ale*_*lex的帖子

将_redirects文件添加到Netlify上托管的Vue SPA的根路径

我正在使用Vue CLI开发单页应用程序,并希望历史状态pushstate工作,所以我得到干净的URL.

我必须遵循这个:https://www.netlify.com/docs/redirects/#history-pushstate-and-single-page-apps并使用以下内容将_redirects文件添加到我的站点文件夹的根目录:

/*    /index.html   200
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何将此_redirects文件添加到我的dist文件夹的根目录.我尝试将它添加到静态文件夹,但它最终在子文件夹中而不是在root中.如何在Netlify上部署此文件以使历史模式有效?

// config/index.js
build: {
  // Paths
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
Run Code Online (Sandbox Code Playgroud)

single-page-application vue.js netlify vue-cli

15
推荐指数
5
解决办法
5319
查看次数

Vue 和笑话。当子组件发出事件时调用测试方法

因此,setMethods在 Vue-test-utils 中弃用之后,我将测试更改为使用jest.spyOn. 我只想从子组件发出一个事件并检查父组件上调用了相应的方法,但不知何故我的方法从未被调用。

it('calls promptPasswordReset method when forgotten-password event is emitted from LoginForm', () => {
    const wrapper = shallowMount(login, { store, localVue })
    const promptPasswordResetSpy = jest.spyOn(wrapper.vm, 'promptPasswordReset')
    wrapper.findComponent(LoginForm).vm.$emit('forgotten-password')
    expect(promptPasswordResetSpy).toHaveBeenCalled()
})
Run Code Online (Sandbox Code Playgroud)

对应的子模板:

<login-form
    @login="login"
    @sign-up="isSignUpModalActive = true"
    @forgotten-password="promptPasswordReset"
>
</login-form>
Run Code Online (Sandbox Code Playgroud)

我不明白,因为当我检查并且间谍On工作时,事件被正确发出wrapper.emitted,因为如果我手动触发该方法,它就会被调用!

javascript vue.js jestjs vue-test-utils

1
推荐指数
1
解决办法
2782
查看次数